2011-10-07 155 views
1

我正在試圖防止一個ListView內的複選框,再上一個雙擊事件檢查。如何處理Windows消息

我已經做了:

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

但檢查事件被調用和方形盒子裏面勾選閃爍,所以我真的覺得它吮吸困難時期。

我偶然發現了這樣的回答: Prevent ItemChecked event on a ListView from interfering with SubItemClicked using C#

這似乎是這樣做的最佳方式,但我不知道如何使這項工作。我嘗試閱讀一些關於通知,消息等的內容,但發現沒有足夠的東西可以將它應用到我的代碼中。

可能有人流下了我一些光在這嗎?

非常感謝!

回答

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; 
     } 
    } 
+0

感謝您的幫助,但我似乎無法在我的ListView的事件中發現任何ItemCheck事件? : -/ – TomShreds

+0

即使我沒有找到它,我決定對自己的事件添加到我的designer.cs文件(this.listView.ItemCheck + =新System.Windows.Forms.ItemCheckEventHandler(this.listView_ItemCheck);) – TomShreds

+0

你的代碼不會阻止雙擊發生的檢查: - /我會嘗試從這個事件中解決問題。 – TomShreds