我正在使用第 3 方库,并且该库的某些功能需要很长时间才能执行,因此我想在功能繁忙时显示“请稍候”对话框。
通常我会做这样的事情:
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;
}
不幸的是,第 3 方库不是线程安全的。任何解决方法?有没有办法将对话框作为后台任务进行管理?