私のアプリケーションでは、ときどきバックグラウンドスレッドをいくつか実行します。メインスレッドは、インターフェイスを更新するバックグラウンドスレッドを待っています
これは、メインウィンドウの進行状況バーも更新します。これはInvokeを呼び出してメインスレッドにインターフェイスを更新させることで行います。
ユーザーがアプリケーションを終了すると、フォームを閉じる前にすべてのバックグラウンドスレッドが終了するまで待つ必要があります。フォーム終了イベントで私は何かがあります
while (this._Queue.Count > 0)
Application.DoEvents();
しかし、これは動作しません!
Invoke呼び出しでバックグラウンドスレッドが停止しています。メインスレッドは、そのDoEventを呼び出すことを繰り返しています。私はそれを呼び出して呼び出しを処理するために必要だったと思います。しかし、これはそうではありません...
どうして!
こんにちは、 はどこにメインフォームを閉じるイベントにこのコードを入れたのですか? よろしくご協力ありがとうございます。 Iordan – IordanTanev
はい、これはメインフォームのform_closingイベントです。 –