if(Thread.IsAlive)を使用してスレッドの状態をチェックしています。このスレッドでフォームが実行されています。実行中にフォームが開いたままであっても、Thread.IsAliveの呼び出しがfalseと評価されているように見えることがあります。同じチェックをif(Thread.ThreadState==ThreadState.Running)で実行することを考えました。それは正しい方法ですか?そうでない場合、可能な回避策は何ですか?
if(Thread.IsAlive)
if(Thread.ThreadState==ThreadState.Running)
msdn Thread.IsAliveプロパティこのスレッドが開始され、正常に終了または中止されていない場合はtrue。それ以外の場合はfalse。
msdn Thread.ThreadState
RunningがIsAliveと同じでないことは明らかだと思います
Running
IsAlive