2009-09-18 59 views
0

當複選框的選中狀態發生變化時,我想知道新值是什麼。 他是我在做什麼:使用ItemCheck事件的WinForm CheckListBox問題

Friend WithEvents clstTask As System.Windows.Forms.CheckedListBox 

Private Sub clstTask_ItemCheck(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles clstTask.ItemCheck 
    Dim SelectedCheckState As CheckState = clstTask.GetItemCheckState(clstTask.SelectedIndex) 
End Sub 

然而,SelectedCheckState變量的不accuratley反映新的狀態值。我認爲它是在點擊之前顯示當前狀態,就好像這是一個「Before_CheckChanged」事件處理程序。

複選框是一個3狀態複選框(已選中,未選中,未確定)。我是否必須編寫難看的代碼,假設CheckState返回狀態「X」表示CURRENT狀態必須爲Y?

回答

3

ItemCheckEventArgs公開屬性CurrentValue和NewValue。

+0

織補。我記得當我看到它時。我想我錯過了它。謝謝。 – ChadD 2009-09-18 18:37:21

1

查看ItemCheckEventArgs.NewValue和ItemCheckEventArgs.CurrentValue。這就是爲什麼那個參數在那裏;)