我有两个这样的组合框
因此,例如,如果我在第一个Drop Box中选择Apple
,则第二个Drop Box不应显示项Apple
所以我想知道这可以做到吗?
我正在使用VB.Net开发桌面应用程序
Handles ComboBox1.DropDown
With ComboBox1.Items
.Add("Apple")
.Add("Orange")
.Add("Banana")
End With
答案 0 :(得分:0)
由于手动添加了项目,因此可能不希望使用数据源。如果是这种情况,你可以做一些简单的事情:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.ComboBox1.Items.Add("Apple")
Me.ComboBox1.Items.Add("Orange")
Me.ComboBox1.Items.Add("Beer")
Me.ComboBox2.Items.Add("Apple")
Me.ComboBox2.Items.Add("Orange")
Me.ComboBox2.Items.Add("Beer")
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
' Just to see a visual of what was selected
Dim selectedItem = CType(ComboBox1.SelectedItem, String)
Dim resultIndex As Integer = ComboBox2.FindStringExact(ComboBox1.SelectedItem)
Me.ComboBox2.Items.RemoveAt(resultIndex)
End Sub
结束班
填充selectedItem的行可以一起跳过,我只是把它放在那里,以便看到所选内容。然后,您可以使用selectedItem变量存储删除的项目,这样您就可以恢复任何不需要的更改。
最后一个想法是从命令按钮中删除该项目。这样就不会意外删除该项目。