En mi aplicación tengo un control de usuario que realiza operaciones asincrónicas usando el grupo de subprocesos. El método de agrupación de hebras se parece a:Detectar si se eliminó el control
private void AsyncFunction(object state)
{
... do the calculation
//refresh the grid data on the UI thread
this.BeginInvoke(new MethodInvoker(() =>
{
... update the ui
}));
}
Mi problema es que si el usuario cierra el diálogo ... el control de usuario se dispone y consigo la excepción:
invocar o BeginInvoke no puede ser llamado en un control hasta que se haya creado el identificador de ventana.
¿Conoces alguna forma de detectar si el cuadro de diálogo fue eliminado? No quiero tener una propiedad en control que el diálogo establezca cuando se cierre. ¿Hay alguna otra manera de resolver esto?
Gracias,
Radu
+1. Pregunta muy útil. – Nick