バックグラウンドワーカーを使用して時間のかかるプロセスを実行し、上記のプロセスの実行中に他のすべてのボタンを無効にしました。しかし、他のボタンを無効にしようとすると、クロススレッド例外が有効ではありませんというエラーが発生します。どうすればこれを解決できますか?
1 に答える
1
バックグラウンド ワーカーを開始する前に、ボタンを無効にします。
DisableButton(); // runs on UI thread
backgroundWorker.RunWorkerAsync();
次に、RunWorkerCompletedイベント ハンドラーを使用してボタンを有効にします。
void backgroundWorker_RunWorkerCompleted(object s, RunWorkerCompletedEventArgs e)
{
EnableButtons(); // runs on UI thread
}
于 2013-02-19T11:45:24.750 に答える