我正在尝试将组合框下拉列表中的项目显示给要选择的用户。只有在checkedlistbox中检查过的项目才会填充组合框。这是我到目前为止,下拉列表只是空白:
For i As Integer = 0 To checkListBox.Items.Count - 1
If checkListBox.GetItemCheckState(i) = CheckState.Checked Then
comboBox1.Items.Add(checkListBox.Items(i))
comboBox1.DisplayMember = checkListBox.Items(i)
End If
Next
感谢任何帮助!
答案 0 :(得分:0)
我是否正确理解您有一个checkListBox和一个comboBox,并且您希望comboBox显示用户在checkListBox中选择的所有项目?这就是我刚才所做的,使用你的代码,它完美无缺。或者你想尝试别的什么?您是否尝试过设置断点并查看此 For 循环是否曾被击中?
答案 1 :(得分:0)
尝试处理ItemCheck事件:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckedListBox1.Items.Add("Item 1")
CheckedListBox1.Items.Add("Item 2")
CheckedListBox1.Items.Add("Item 3")
End Sub
Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
If e.NewValue = CheckState.Checked AndAlso Not ComboBox1.Items.Contains(CheckedListBox1.Items(e.Index)) Then
ComboBox1.Items.Add(CheckedListBox1.Items(e.Index))
ElseIf e.NewValue = CheckState.Unchecked AndAlso ComboBox1.Items.Contains(CheckedListBox1.Items(e.Index)) Then
ComboBox1.Items.Remove(CheckedListBox1.Items(e.Index))
End If
End Sub
End Class