これまで、Invokeメソッドを使用して別のスレッドからリストボックスオブジェクトにアイテムを設定する方法の例を1000個見てきました。
ただし、バックグラウンドワーカーのトレッドからリストボックスからアイテムを単純に読み取る方法についての解決策は見つかりません。たとえば、SelectedItemsを読み取る前にこれを呼び出すにはどうすればよいですか...
foreach (var item in CheckedListBox1.SelectedItems)
{
//Do something
}
バックグラウンドワーカーで実行されている上記のコードは、次のエラーを生成しました。
クロススレッド操作が無効です:コントロール'CheckedListBox1'は、それが作成されたスレッド以外のスレッドからアクセスされました。