0

私はC#winフォームアプリケーションに取り組んでいます.私の問題は、メニューをクリックすると、進行状況(スプラッシュ進行状況フォーム)を示す1つの別のスレッドを作成したことです。スレッドを中止しても、進行状況フォームは表示されたままです..! しかし、フォームの上にマウスポインターを移動すると、すぐに消えます..!

以下は私のコードです

Thread progressThread = new Thread(() => Application.Run(new frmOperationProgress()));

progressThread.IsBackground = true;
progressThread.Start();
//Some work
progressThread.Abort();

C#でこの進捗フォームオブジェクトを閉じる方法

4

3 に答える 3

0

フォームを閉じるだけで、スレッド (そのフォームのメッセージ ループによってブロックされている) は自然に終了します。

var yourForm = new frmOperationProgress();
//Start it
Thread progressThread = new Thread(() => Application.Run(yourForm));
progressThread.IsBackground = true;
progressThread.Start();
//....
//close it
yourForm.Invoke((Action)(() => yourForm.Close()));
于 2013-11-05T19:04:58.897 に答える