在Listbox1中选择项目时,0添加到listbox2显示

时间:2014-12-04 03:17:57

标签: vb.net listbox

1.当我从列表框1中选择一个项目时,它会显示有关listbox2中项目的信息。但是,当我单击listbox1中的某个项目时,它会向我显示该信息,并在listbox2的末尾添加0。我如何摆脱0或我正在做什么导致这个?我认为它可能正在显示索引号。这是我的代码 -

If ListBox1.SelectedIndex = 2 Then ListBox2.Items.Add("60137" & ListBox2.Items.Add("60138"))

2.另外,当我在list1中选择不同的项目时,如何清除List2,以便它们不会同时填充list2?

1 个答案:

答案 0 :(得分:1)

*忽略这是一个可怕的设计......

变化:

If ListBox1.SelectedIndex = 2 Then ListBox2.Items.Add("60137" & ListBox2.Items.Add("60138"))

要:

If ListBox1.SelectedIndex = 2 Then 
    ListBox2.Items.Clear
    ListBox2.Items.Add("60137")
End If

这是另一种方法:

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim petA As New Pet
        petA.Name = "Puss in Boots"
        petA.Species = "Cat"
        ListBox1.Items.Add(petA)

        Dim petB As New Pet
        petB.Name = "Nemo"
        petB.Species = "Fish"
        ListBox1.Items.Add(petB)

        Dim petC As New Pet
        petC.Name = "Rango"
        petC.Species = "Lizard"
        ListBox1.Items.Add(petC)
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
        If ListBox1.SelectedIndex <> -1 Then
            Dim P As Pet = DirectCast(ListBox1.SelectedItem, Pet)
            Label1.Text = P.Species
        End If
    End Sub

End Class

Public Class Pet

    Public Name As String
    Public Species As String

    Public Overrides Function ToString() As String
        Return Name
    End Function

End Class