Как обрабатывать сообщения Windows - PullRequest
1 голос
/ 08 октября 2011

Я пытаюсь предотвратить установку флажка внутри ListView для события двойного щелчка.

Я уже сделал:

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

Но вызывается проверенное событие ифлажок мигает внутри квадратной рамки, так что я действительно думаю, что это отстой.

Я наткнулся на этот ответ: Предотвращение события ItemChecked в ListView от вмешательства в SubItemClicked с помощью C #

Кажется, это идеальный способ сделать это, но я не знаю, как это сделать.Я попытался прочитать немного об уведомлениях, сообщениях и т. Д., Но не нашел ничего достаточно нестабильного, чтобы я мог применить его к своему коду.

Может кто-нибудь пролить мне свет на это, пожалуйста?

Спасибоочень много!

1 Ответ

2 голосов
/ 08 октября 2011

Просто реализуйте событие 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;
        }
    }
...