我有一个 For 循环,它列出了集合中的项目(比如每页 5 个项目)。用户可以通过单击其他页面按钮转到其他页面,但是如果当前页面仍在列出,则会导致以下错误。
Collection was modified. Enumeration operation may not execute.
当用户在列表完成之前单击其他页面按钮时,我将如何中止当前页面的列表?
我尝试创建两个布尔变量,分别称为“isListing”和“isSkipping”,然后尝试将 For 循环放入 While 语句中,如下所示:
Public Sub list()
lines.Items.Clear()
lines = New List(Of String)()
Dim reader As StringReader = New StringReader(listLines) 'listLines obtained from a file
Do Until reader.Peek = -1
lines.Add(reader.ReadLine)
Loop
isListing = True
While Not isSkipping AndAlso isListing
For Each line As String In lines
'List Page
Next
isListing = False
End While
End Sub
页面按钮如下:
Private Sub btnPage_Click(...) ...
If isListing Then isSkipping = True Else isSkipping = False
list()
End Sub
但这会导致同样的错误。
任何帮助表示赞赏~!