2012-10-02 150 views
0

我從數據庫中選擇一個條目,然後將文件列表加載到checkedListBox2並檢查與我在數據庫中輸入有關的項。這些都是checkedListBox2s的形式。選中的項目與數據庫輸入相關,不選中。當我點擊checkedListBox2的第一個項目(索引0),並且該項目被選中時,函數checkedListBox2.GetItemChecked()返回false而不是true,並取消選中我的第一個項目(我的SelectedIndexChanged事件沒有取消選中項目的代碼)。只有當我第一次點擊第一個項目時(如果我在另一個項目上點擊之前,所有項目都正常工作),纔會發生這種情況。如果第一個項目未被選中,所有工作都很好。.NET CheckedListBox第一項第一次點擊

private void checkedListBox2_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (checkedListBox2.GetItemChecked(checkedListBox2.SelectedIndex) == true) 
     { 
      ... 
      ... 
     else 
     { 
      .... 
     } 
    } 

不明白什麼是錯的。首先,我認爲問題是在加載checkedListBox2期間事件上升,但即使加載後也是如此。我錯過了什麼嗎?

+0

瞭解英語是第二語言買這個不清楚。而你對woni的迴應則更不明確。 – Paparazzi

+0

對不起,你是對的)我的英語不太好。 – teoring

回答

0

想一想。
第一個項目是選定的項目。
事件是SelectedIndexChanged。
您可以單擊第一個(索引0)100次,並且該事件不會被觸發。

您需要掛鉤不同的事件。

更好的做法是通過雙向綁定。

0

您是否嘗試過使用ItemCheck事件,而不是使用SelectedIndexChanged?

ItemCheck事件在檢查項目後觸發,但SelectedIndexChanged事件在選擇某個項目時觸發,這意味着它不一定要被檢查。

private void checkedListBox_ItemCheck(object sender, ItemCheckEventArgs e) { 
    if (checkedListBox.GetItemChecked(e.Index)) { 

    } 
} 
+0

我知道,checkedListBox中的每個檢查項都有一個值,所以我使用此事件在numericUpDown中顯示該值。當我點擊一個項目,如果它檢查,我顯示與該項目有關的價值 – teoring

相關問題