如何处理Windows消息

时间:2011-10-07 21:02:01

标签: c# .net winforms listview windows-messages

我正在尝试阻止在双击事件中检查ListView中的复选框。

我已经做过:

listView.SelectedItems[0].Checked = (listView.SelectedItems[0].Checked) ? false : true;

但是被检查的事件被调用,方框内的复选标记闪烁,所以我觉得这很难过。

我偶然发现了这个答案: Prevent ItemChecked event on a ListView from interfering with SubItemClicked using C#

这似乎是完美的方式,但我不知道如何使这项工作。我试着阅读一些有关通知,消息等的内容,但发现没有足够的内容可以将它应用到我的代码中。

请问有人对此有所了解吗?

非常感谢!

1 个答案:

答案 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;
        }
    }