Я использую стороннюю библиотеку, и некоторые функции библиотеки требуют много времени для выполнения, поэтому я хочу отобразить диалоговое окно «Подождите», пока функции заняты.
Обычно я бы сделал что-то вроде этого:
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;
}
К сожалению, сторонняя библиотека не является потокобезопасной. Любые обходные пути? Есть ли способ управлять диалоговым окном в качестве фоновой задачи?