私はListViewを持つアプリケーションを持っており、ListViewの各項目をループしたいと思っています。しかし、私は別のスレッドでこれをやりたいバックグラウンドスレッドでリストビューを反復処理するにはどうすればよいですか?
これは、コードの非常に単純なバージョンがある - が、その誤差は同じです:
次のエラーが発生Private Sub StartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartToolStripMenuItem.Click
pingThread = New Thread(AddressOf loopingRoutine)
pingThread.Start()
End Sub
Public Sub loopingRoutine()
For Each item As ListViewItem In ListView1.Items
MsgBox(item.Text)
Next
End Sub
:
Cross-thread operation not valid: Control 'ListView1' accessed from a thread other than the thread it was created on.
なぜこれが事実ですか? DataGridViewを使用する前にこの問題が発生したことはありません。
誰かがそれに光を当てることはできますか?
感謝を十分です...私は行くつもり私はそれを理解するので、マルチスレッドを研究してください。 –