Visual Basic使用事件侦听器迭代ListBox

时间:2013-04-20 07:41:52

标签: .net vb.net

我有一个ListBox包含一个项目列表,我想知道如何创建一个处理程序,它可以在事件发生时迭代ListBox。
我有以下代码将文件读入列表框。

Private Sub Load_File_To_ListBox(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Load_File_To_ListBox.Click
    Dim r As New IO.StreamReader("C:\Users\resu\Desktop\test.txt")
    While (r.Peek() > -1)
        lb1.Items.Add(r.ReadLine)
    End While
    r.Close()
End Sub

这是我的事件处理程序代码:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    TextBox1.Text = " "
    TextBox1.Text &= ListBox1.SelectedItems.Item(i).ToString
    i = i + 1
End Sub

i被声明为全局变量,用于跟踪ListBox中的下一个项目。我想要的是阅读Listbox中的下一个项目,并在每次点击Button2时将其放入TextBox

请帮我修改我的代码以使其正常工作。

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您的问题在于以下代码行:

'This line of code looks at all of the items that have been 
'selected in the list box, and out of all of the selected 
'items it will select the item at index i.
TextBox1.Text &= ListBox1.SelectedItems.Item(i).ToString

由于代码仅查看 所选项目 而非 所有项目 ,因此代码的行为不符合你会期待的。相反,请使用以下代码行:

TextBox1.Text &= ListBox1.Items(i).ToString()