【问题标题】:Get corresponding items from a selected listbox item从选定的列表框项中获取对应项
【发布时间】:2014-09-22 01:28:07
【问题描述】:

正如标题所说,一旦我从 lstordpizza 中选择了一个项目,来自 lstordserving 和 lstordqty 的相应项目将显示在图像中显示的组合框中。任何帮助,将不胜感激。 :)

编辑:很抱歉我的帖子缺少信息,我想不出任何办法来做到这一点。

当我选择“夏威夷至尊”时,对应的“家庭”项目应该出现在组合框中,数量为“9”。

【问题讨论】:

  • 你试过什么?需要提供更多信息,例如下一个列表框的数据来自哪里。您正在寻找的术语是级联列表框
  • 对于一个非常模糊的问题,您得到了一个非常详细的答案 - 如果它帮助您解决了这个问题,您应该点击复选标记

标签: vb.net listbox selecteditem selectedindex


【解决方案1】:

首先,当您使用 for each 循环打开表单时,您需要在组合框中加载列表框项。

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    For Each item As String In ServinSizeLB.Items
        ServinSizeCB.Items.Add(item)
    Next

    For Each item As Integer In PizzaQtyLB.Items
        PizzaQtyCB.Items.Add(item)
    Next

End Sub

然后您将 SelectedIndexChanged 事件添加到您的披萨列表框。
因此,只要您在列表框中选择了一个披萨,您就可以在组合框中选择其他列表框的值。
但首先您需要检查列表框中是否已经选择了一个值。
否则,当您选择不同的披萨时,选择就会消失。
“也许我已经知道大小,但我确实改变了我想要什么披萨的想法”

Private Sub PizzaLB_SelectedIndexChanged(sender As Object, e As EventArgs) Handles PizzaLB.SelectedIndexChanged

    If ServinSizeLB.SelectedItem = Nothing Then
        ServinSizeCB.SelectedIndex = 0
    End If

    If PizzaQtyLB.SelectedItem = Nothing Then
        PizzaQtyCB.SelectedIndex = 0
    End If
End Sub

您不应该忘记第一项位于位置 0

我不知道您是否希望他们从列表框或组合框中选择份量或披萨数量...
但如果它是列表框,这里还有代码。

因此,为服务大小列表框创建一个 SelectedIndexChanged,为比萨饼数量列表框创建一个。
因为项目在列表框和组合框中的顺序相同,所以您将组合框选定项与列表框选定项链接起来。

Private Sub ServinSizeLB_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ServinSizeLB.SelectedIndexChanged
    ServinSizeCB.SelectedIndex = ServinSizeLB.SelectedIndex
End Sub

Private Sub PizzaQtyLB_SelectedIndexChanged(sender As Object, e As EventArgs) Handles PizzaQtyLB.SelectedIndexChanged
    PizzaQtyCB.SelectedIndex = PizzaQtyLB.SelectedIndex
End Sub

如果您在组合框中选择一个值,您对列表框的操作也是如此。

Private Sub ServinSizeCB_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ServinSizeCB.SelectedIndexChanged
    ServinSizeLB.SelectedIndex = ServinSizeCB.SelectedIndex
End Sub

Private Sub PizzaQtyCB_SelectedIndexChanged(sender As Object, e As EventArgs) Handles PizzaQtyCB.SelectedIndexChanged
    PizzaQtyLB.SelectedIndex = PizzaQtyCB.SelectedIndex
End Sub

【讨论】:

    猜你喜欢
    • 2011-08-23
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多