Запуск формы ожидания в отдельном потоке (Winforms)
У меня создается форма ожидания в отдельном потоке во время длительных операции, просто для демонстрации с полосой загрузки. И по истечению выполнения операции закрывается.
Всё отлично работает но время от времени блокируется до момента закрытия приложения. Как правильно реализовать форму ожидания?
Для открытия реализовано следующим образом:
public void ShowWaitDialog(string message)
{
_thread = new Thread(() =>
{
_waitForm = new WaitForm(this, message);
_waitForm.ShowDialog();
});
_thread.Start();
}
Для закрытия:
public void CloseWaitDialog()
{
if (_waitForm != null)
{
_waitForm.Invoke(new Action(_waitForm.Close));
_waitForm = null;
}
}