私はC#(Windowsフォーム)(ビジュアルスタッド2012)でコーディングされた小さなアプリケーションを持っています。アプリケーションを実行すると、アプリケーションが実行されているときはウィンドウをクリックしたり、移動したりすることさえできません。プロセスどうすればこの問題を解決できますか?
質問する
2288 次
3 に答える
3
BackgroundWorker Control/Classを実装できます。
これを行うには、コントロールBackgroundWorker
をツールボックスからフォームにドラッグするだけです。作成したばかりのバックグラウンド ワーカーを選択し、ダブルクリックします。ここで、UI とは別に実行する必要があるすべてのコードをこのイベントに入れます。
例:
//Assuming we have a background worker called backgroundWorker
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) {
//put code here
}
コードのトリガー ブロックで、 を呼び出しますbackgroundWorker.RunWorkerAsync()
。
例:
private buttonDoWork_Click(object sender, EventArgs e) {
backgroundWorker.RunWorkerAsync();
}
注意してスレッドセーフにしてください。
于 2013-06-20T16:09:37.857 に答える
0
BackgroundWorker クラスの使用をご覧ください
別のスレッドで操作を実行します。
BackgroundWorker クラスを使用すると、別の専用スレッドで操作を実行できます。ダウンロードやデータベース トランザクションなどの時間のかかる操作により、実行中にユーザー インターフェイス (UI) が応答を停止したように見えることがあります。レスポンシブな UI が必要で、そのような操作に関連する長い遅延に直面している場合、BackgroundWorker クラスは便利なソリューションを提供します。
于 2013-06-20T15:58:27.380 に答える