В моем приложении есть пользовательский элемент управления, который выполняет асинхронные операции с использованием пула потоков.Метод пула потоков выглядит следующим образом:
private void AsyncFunction(object state)
{
... do the calculation
//refresh the grid data on the UI thread
this.BeginInvoke(new MethodInvoker(() =>
{
... update the ui
}));
}
Моя проблема в том, что если пользователь закрывает диалог ... пользовательский элемент управления удаляется, и я получаю исключение:
Invokeили BeginInvoke не может быть вызван для элемента управления до тех пор, пока не будет создан дескриптор окна.
Знаете ли вы способ определить, был ли удален диалог?Я не хочу иметь свойство на элементе управления, который диалог устанавливается при закрытии.Есть ли другой способ решения этой проблемы?
Спасибо,
Раду