我有一个列表框,其中包含从txt文件加载x对象的代码:
Dim lines() As String = IO.File.ReadAllLines(Application.StartupPath() + "\file.txt")
List.Items.AddRange(lines)
Try
List.SelectedIndex = 0
Catch ex As Exception
End Try
Return True
它加载它们很好。然后我只尝试像这样循环它们:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim num As Integer = 0
Dim item As Object
For Each item In List.Items
List.SelectedIndex = num
num += 1
Next
End Sub
我得到的错误是:
未处理的类型' System.InvalidOperationException'发生在System.Windows.Forms.dll
中
其他信息:此枚举器绑定的列表已被修改。只有在列表没有更改时才能使用枚举器。
我尝试手动加载列表框,没有帮助。 这里有什么帮助吗?
答案 0 :(得分:1)
使用
For num = 0 To List.Items.Count - 1
List.SelectedIndex = num
Next
正如@CodyGray正确指出的那样:原因是如果你要修改你所枚举的项目集合,就不能使用A for-each循环。
这将最终选择最后一项,因此如果您正在测试每个项目的事件处理程序,那么它才真正有用。