我正在创建一个Windows窗体,在这种形式中我有两个组合框,我想要链接在一起,这意味着当我在第一个组合框(类别)中选择一个项目时,它将更改另一个组合中的项目框(项目)相应。我目前没有任何代码,因为我不确定如何开始。图像不在形式上,如果它以任何方式帮助你理解我需要发生的事情然后在那里。我曾经在不同的网站上试图阅读如何做到这一点,但我完全迷失了。如果有人能指出我正确的方向,那么我将非常感激我现在每次运行时都会收到此错误,而且我不确定如何修复它,我不知道该放入什么这些括号'如果cmbCat.SelectedItem()那么' 无论我似乎什么都没有用。
公共类frmRestaurantOrd
Public Shared cmbCatDrinks As String = "Drinks"
Public Shared cmbCatMain As String = "Main"
Private Sub cmbCat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbCat.SelectedIndexChanged
If cmbCat.SelectedItem() Then
cmbItem.Items.Add("Water")
cmbItem.Items.Add("Orange Juice")
cmbItem.Items.Add("Coca Cola")
cmbItem.Items.Add("Beer")
ElseIf cmbCat.SelectedItem("Main") Then
cmbItem.Items.Add("Piza 1")
Else cmbCat.SelectedItem.Equals("")
cmbItem.Items.Clear()
End If
End Sub
Private Sub frmRestaurantOrd_Load(sender As Object, e As EventArgs) Handles MyBase.Load
cmbCat.Items.Add(cmbCatDrinks)
cmbCat.Items.Add(cmbCatMain)
End Sub
答案 0 :(得分:0)
我建议您将数据与逻辑分开。我的意思是为每个选择类别创建一个单独的类,以便最终得到三个列表:
List(Of Category)
'此列表将包含两类选项:Drink,MainDish
List(Of Drink)
'此列表将包含饮品的选择
List(Of MainDish)
'此列表将包含主菜的选择
我会避免使用“Main”作为类或List的名称
然后,根据用户在组合框cmbCat中的选择,将cmbItem DataSource属性设置为一个列表或另一个列表。
伪代码: cmbItem.DataSource = IIf(cmbCat.SelectedIndex == 0,Drinks,MainDish)