根据VB.net中的combobox更改istbox的值

时间:2015-08-20 02:46:41

标签: vb.net combobox listbox

我有一个组合框和一个列表框。当用户从组合框中选择一个项目时,列表框将显示某个数据。然后,当用户从组合框切换项目时,列表框将显示另一组数据。

但是当我将组合框的值从“监视器”更改为“鼠标”时,列表框中的数据将继续并且不会更改。

这是我的代码。 提前谢谢。

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        If ComboBox1.Text = "Monitor" Then
            ListBox1.Items.Add("Monitor 1")
            ListBox1.Items.Add("Monitor 2")
            ListBox1.Items.Add("Monitor 3")
        End If
        If ComboBox1.Text = "Mouse" Then
            ListBox1.Items.Add("Mouse 1")
            ListBox1.Items.Add("Mouse 2")
            ListBox1.Items.Add("Mouse 3")

        End If

2 个答案:

答案 0 :(得分:0)

在分配下一个值之前清除ListBox。

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

    ListBox1.Items.Clear()

    If ComboBox1.Text = "Monitor" Then ......

答案 1 :(得分:0)

您需要使用VALUE。 设置组合框时,您将拥有文本和值。

Private Sub ComboBox1_SelectedIndexChanged(sender as Object,e As EventArgs)处理ComboBox1.SelectedIndexChanged

    ListBox1.Items.Clear()
    If ComboBox1.value = "Monitor" Then
        ListBox1.Items.Add("Monitor 1")
        ListBox1.Items.Add("Monitor 2")
        ListBox1.Items.Add("Monitor 3")
    End If

    If ComboBox1.value = "Mouse" Then
        ListBox1.Items.Add("Mouse 1")
        ListBox1.Items.Add("Mouse 2")
        ListBox1.Items.Add("Mouse 3")

    End If