投稿者 葉月  (社会人) 投稿日時 2009/11/11 04:56:24
私がBackgroundWorkerを使うときは、状態推移(ポンプ)の時に利用しています。
 MSDNでも、その部分が特徴的に記述されています。
 何はともあれ、目的の操作ができたようでなによりです。

>>>無限ループに入るとソフトが応答しなくなるが別スレッドで無限ループをするとそのまま処理が続けられる、ということであっているのでしょうか? 
 だいたいその通りです。念のためにサンプルの説明をします。
 通常、HogeShow()で行っている部分はシングルスレッドだと、
IsEndLoopプロパティを変更する術がないので無限ループに入ります。
 別スレッドとしてHogeShow()を動かすことで、Formの操作が可能になります。
 今回のサンプルでは、button2を押すことにより、IsEndLoopの状態が変わり操作が終わります。
 もちろん、終了判定を入れなければ、操作はできますが処理は無限ループするので終わりません。