我有一个ListView
包含各种项目和一个ItemCheck
处理程序,如下所示:
private void ListView1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == System.Windows.Forms.CheckState.Checked)
{
if (e.Index == 0)
{
ListView1.Items[1].Checked = false;
ListView1.Items[2].Checked = false;
ListView1.Items[3].Checked = false;
ListView1.Items[4].Checked = false;
ListView1.Items[5].Checked = false;
ListView1.Items[6].Checked = false;
ListView1.Items[7].Checked = false;
}
else
{
ListView1.Items[0].Checked = false;
}
}
}
本质上,第一项是“无”,所以当它被选中时,所有其他项目都变为未选中(反之亦然)。有时程序会检查代码中的项目,我认为这会导致问题。我知道TreeViewEventArgs
有一个名为的字段,如果呼叫来自程序而不是来自用户,则该字段Action
等于。TreeViewAction.Unkown
有没有办法检查ListViewItem
用户是否正在检查 a 而不是由代码检查?