質問: ウインドウを閉じてもマルチスレッドの動作が終了しないという事態に悩んでいます。 現在のソースは、 Aクラス・Bクラス・Cクラスがあり、AクラスからマルチスレッドでB・Cクラスを呼び出し実行しています。 (Aクラス・Bクラス・CクラスはCSファイルで分けています。) ウインドウは一つだけしか表示しておらず、そのウインドウの閉じるボタンを押下すると、 アプリケーションが終了すると考えていました。 しかし、B・Cクラスの処理はウインドウを閉じた後も動作し続けています。 ウインドウの閉じるボタンを押下したと同時に全ての処理を終了したいのですが、 windowのclosingイベント内でB・Cクラスの処理を終了させる方法しかないのでしょうか? 他に良い案があれば教えていただきたいです。
回答: ThreadオブジェクトのIsBackgroundプロパティがfalseになっている可能性があります。 ワーカーとして使う場合はStartメソッドを呼び出す前にtrueをセットしておく必要があります。