コレクションの項目をリストする For ループがあります (1 ページあたり 5 項目など)。ユーザーは他のページ ボタンをクリックして他のページに移動できますが、現在のページがまだリストされている場合、次のエラーが発生します。
Collection was modified. Enumeration operation may not execute.
リストが終了する前にユーザーが他のページ ボタンをクリックした場合、現在のページのリストを中止するにはどうすればよいですか?
「isListing」と「isSkipping」という 2 つのブール変数を作成してから、次のように 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
しかし、これは同じエラーを引き起こします。
助けていただければ幸いです〜!