2012-04-25 67 views
1

我正在使用一個winform,我已經採取了一個清單框。我想將檢查列表框的選中項存儲在數組列表中。我的清單框中有5個項目,我想處理itemcheck事件。爲什麼ItemCheck CheckList Box的事件總是一個背後?

,如果我籤一個項目itemcheck事件觸發,但項目數再次保持爲0,如果我爲您在事件處理程序的項目2項數爲1,如果我重複這個過程,下一次計數變成2(不過現在我已經檢查了3項)。

請幫我在這下面的代碼是我使用的代碼片段:

private void CLB_Course_ItemCheck(object sender, ItemCheckEventArgs e) 
     {    
      List<string> items = new List<string>();    
      foreach (string ItemsChecked in CLB_Course.CheckedItems) 
      { 
       items.Add(ItemsChecked); 
      } 
     } 
+2

閱讀這裏:http://stackoverflow.com/questions/4454058/no-itemchecked-event-in-a-checkedlistbox – 2012-04-25 13:44:27

回答

1

如該米蒂亞鏈接到的問題進行了說明,CheckedListBox並不好。

如果你要檢查的項目列表,你可以考慮使用ListView相反,它有一個CheckBoxes屬性,您可以設置爲true以獲得相同的行爲,你會在CheckedListBox得到,但與附加功能ItemChecked,因爲該事件實際上存在於ListView控件中。

在事件偵聽器,您可以得到與e.Item屬性(從ItemCheckedEventArgs)檢查的項目,或讓所有檢查使用ListView的CheckedIndices,或CheckedItems屬性的項目。

0

發生這種情況的原因是,當某個項目將要更改其檢查狀態時引發該事件。該值不會更新,直到事件發生後

相關問題