我正在尝试阻止在双击事件中检查ListView中的复选框。
我已经做过:
listView.SelectedItems[0].Checked = (listView.SelectedItems[0].Checked) ? false : true;
但是被检查的事件被调用,方框内的复选标记闪烁,所以我觉得这很难过。
我偶然发现了这个答案: Prevent ItemChecked event on a ListView from interfering with SubItemClicked using C#
这似乎是完美的方式,但我不知道如何使这项工作。我试着阅读一些有关通知,消息等的内容,但发现没有足够的内容可以将它应用到我的代码中。
请问有人对此有所了解吗?
非常感谢!
答案 0 :(得分:2)
只需实现ItemCheck事件即可。您可以通过更改e.NewValue属性来取消检查。一个愚蠢的例子:
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
// Disable checking odd numbered items
if (e.Index % 2 == 1) {
e.NewValue = e.CurrentValue;
}
}