Проблема WinForm CheckListBox с событием ItemCheck - PullRequest
0 голосов
/ 18 сентября 2009

Когда проверяется состояние флажка, я хотел бы знать, каково новое значение. это то, что я делаю:

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 не совсем точно отражает новое состояние. Я думаю, что он показывает текущее состояние перед щелчком, как если бы это был обработчик события «Before_CheckChanged».

Флажок - это флажок с 3 состояниями (отмечен, не проверен, не определен). Должен ли я написать некрасивый код, который предполагает, что если возвращаемое CheckState является состоянием "X", то состояние CURRENT должно быть Y?

Ответы [ 2 ]

3 голосов
/ 18 сентября 2009

ItemCheckEventArgs предоставляет свойства CurrentValue и NewValue.

1 голос
/ 18 сентября 2009

Проверьте ItemCheckEventArgs.NewValue и ItemCheckEventArgs.CurrentValue. Вот почему этот параметр есть;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...