在Click事件中循环显示列表框

时间:2009-08-10 11:31:14

标签: vb.net

我有一个包含项目的列表框,当我按下一个按钮时,我想转到下一个项目。我有一个可怕的脑屁并且已经有一段时间了。

for x = 0 to listbox1.items.count - 1
     label1.text = listbox1.items.item(x)
     x += 1
next

我可能是一个愚蠢的错误:( 谢谢!

1 个答案:

答案 0 :(得分:1)

将循环中的代码放入Click事件处理程序。

Private listItemIndex As Integer = 0

Private Sub Button_Click(sender As Object, e As EventArgs)
    If listItemIndex < ListBox1.Items.Length Then
        Label1.Text = ListBox1.Items(listItemIndex).ToString()
        listItemIndex += 1
    End If
End Sub

而且,如果您需要像原始代码一样遍历所有项目,请始终优先选择For Each循环到索引循环。它更简洁,更直接,因此(可以说)更具惯用性。

For Each item In ListBox1.Items
    Label1.Text = item.ToString()
Next

/编辑:注意在项目的任何地方启用Option Strict,除非有令人信服的理由不这样做。这使编译器能够识别出更多潜在的问题。这也意味着上述代码需要显式转换(或调用ToString),因为ListBox.Items会返回Object