サードパーティのライブラリを使用していますが、ライブラリの一部の機能の実行に時間がかかるため、機能がビジー状態のときに「お待ちください」ダイアログを表示したいと思います。
通常、私は次のようなことをします:
Thread longTask = new Thread (new ThreadStart(LongTask));
longTask.IsBackgroud = true;
longTask.Start();
pleaseWaitForm = new PleasWaitForm ("Please wait for task to complete");
pleaseWaitForm.ShowDialog();
void LongTask()
{
// Do time consuming work here
pleaseWaitForm.CanCloseFlag = true;
}
残念ながら、サードパーティのライブラリはスレッドセーフではありません。回避策はありますか?ダイアログボックスをバックグラウンドタスクとして管理する方法はありますか?