Vb.net 多重checkedlistbox中的事件处理
我是vb.net新手,我在想是否有一种可能的方法来处理tabcontrol中的所有checkedlistbox事件 这是我为一个checkedlistbox编写的代码,我想将它粘贴到其余49个checkedlistbox是低效的Vb.net 多重checkedlistbox中的事件处理,vb.net,checkedlistbox,Vb.net,Checkedlistbox,我是vb.net新手,我在想是否有一种可能的方法来处理tabcontrol中的所有checkedlistbox事件 这是我为一个checkedlistbox编写的代码,我想将它粘贴到其余49个checkedlistbox是低效的 Private Sub cbA1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbA1.SelectedIndexChang
Private Sub cbA1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbA1.SelectedIndexChanged
For i = 0 To cbA1.Items.Count - 1
cbA1.SetItemCheckState(i, CheckState.Unchecked)
Next
cbA1.SetItemCheckState(cbA1.SelectedIndex, CheckState.Checked)
'DISABLE CHKBOX AFTER PICKING THE CHOICE
cbA1.Enabled = False
End Sub
这就是我通常使用一个事件处理多个对象的方式
Private Sub cb_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbA1.SelectedIndexChanged, cbA2.SelectedIndexChanged, cbA3.SelectedIndexChanged 'and add more checkedlistbox here separated by comma
For i = 0 To sender.Items.Count - 1
sender.SetItemCheckState(i, CheckState.Unchecked)
Next
sender.SetItemCheckState(sender.SelectedIndex, CheckState.Checked)
'DISABLE CHKBOX AFTER PICKING THE CHOICE
sender.Enabled = False
End Sub
如何在checkedlistbox中获取选中值,请参见:
此代码将获取索引
For Each indexChecked In CheckedListBox1.CheckedIndices
MessageBox.Show("Index " + itemChecked.ToString() + " is checked.")
Next
此代码将获取值
For Each itemChecked In CheckedListBox1.CheckedItems
MessageBox.Show(itemChecked.ToString() & " is checked")
Next
将“CheckedListBox1”更改为“sender”,并将其放在子cb_SelectedIndexChanged中是否使用复选框或checkboxlistcheckboxlist,它们也会填充项目列表谢谢帮助,我还想知道选中了哪个复选框列表。就像发送cba3的文本一样selected@AJNovice当前位置我已在回答中添加了它。希望这对您有所帮助:
For Each itemChecked In CheckedListBox1.CheckedItems
MessageBox.Show(itemChecked.ToString() & " is checked")
Next