1

我试图阻止 ListView 中的复选框在双击事件中被选中。

我已经做了:

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

但是选中的事件被调用并且复选标记在方框内闪烁,所以我真的认为这很糟糕。

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

这似乎是这样做的完美方式,但我不知道如何使这项工作。我试图阅读一些有关通知、消息等的信息,但没有发现任何不稳定的东西足以让我将其应用到我的代码中。

有人可以帮我解释一下吗?

非常感谢!

4

1 回答 1

2

Simply implement the ItemCheck event. You can cancel the check by changing the e.NewValue property. A silly example:

    private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
        // Disable checking odd numbered items
        if (e.Index % 2 == 1) {
            e.NewValue = e.CurrentValue;
        }
    }
于 2011-10-07T21:09:55.890 回答