投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/2/21 02:16:34
処理に必要なデータ(ComboBox1.SelectedItem など)があれば、
RunWorkerAsync の呼び出し時に、引数として渡しておけば OK です。

DoWork イベント内では、そのデータを e.Argument で取得できます。


> 共通変数に格納して利用している状況です。

その共通変数は、スレッドセーフになってますか?

たとえば、As Integer な変数でさえ、そのままではスレッドセーフではないため、
Interlocked クラスや ReaderWriterLock クラスを使う必要があります。
(SyncLock ステートメントという手もありますが、これの使用は最小限にすべき)