当复选框的选中状态发生变化时,我想知道新值是什么。 他就是我在做的事情:
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?
答案 0 :(得分:3)
ItemCheckEventArgs公开属性CurrentValue和NewValue。
答案 1 :(得分:1)
查看ItemCheckEventArgs.NewValue和ItemCheckEventArgs.CurrentValue。这就是为什么那个参数;)