在VB中,可以使用CheckListBox控件来实现Combo下拉多选的效果。以下是一个示例代码:
首先,在VB的Windows窗体应用程序中,将一个ComboBox控件和一个CheckListBox控件放置在窗体上。
在窗体的Load事件中,将CheckListBox控件的Visible属性设置为False,以便在初始状态下隐藏它。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckListBox1.Visible = False
End Sub
Private Sub ComboBox1_DropDown(sender As Object, e As EventArgs) Handles ComboBox1.DropDown
CheckListBox1.Location = ComboBox1.Location
CheckListBox1.Size = ComboBox1.Size
CheckListBox1.Visible = True
End Sub
Private Sub CheckListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckListBox1.ItemCheck
If e.NewValue = CheckState.Checked Then
ComboBox1.Text += CheckListBox1.Items(e.Index) + ";"
Else
ComboBox1.Text = ComboBox1.Text.Replace(CheckListBox1.Items(e.Index) + ";", "")
End If
End Sub
这样,当用户在ComboBox中下拉时,会显示一个CheckListBox,用户可以在CheckListBox中选择多个项,选中的项会显示在ComboBox的文本框中。