7

または、質問のもう1つの側面は、バックグラウンドワーカーをコーディングするときに、フォームが閉じられる可能性を処理する必要があるかどうかです。

たとえば、バックグラウンドワーカーでSQLクエリ(キャンセル不可)を実行し、カレンダーコントロールの日付が完了すると、クエリから返された日付と一致するように「太字」にするコードがあります。

そのような状況でバックグラウンドワーカーが何をするように設計されているのか知りたいですか?-RunWorkerCompleteイベントを発生させませんか?RunWorkerComplete-ウィンドウではなくなったため、関数呼び出しでダイアログの呼び出しを無視しますか?

4

1 に答える 1

7

閉じているフォームがメイン(つまり、唯一の)フォームである場合、バックグラウンドワーカースレッドはアプリケーションを閉じると自動的に閉じます。

メインフォームでない場合は、バックグラウンドスレッドが実行を継続します。この場合、フォームを閉じてバックグラウンドスレッドを手動で中止する必要があります

于 2012-12-10T10:22:44.313 に答える