Estoy mostrando una animación mientras mi control está cargando los datos. Cuando termina el hilo, oculto la animación y muestro el control. Así que estoy ejecutando el código de un hilo:Control.Invoke() bloquea la aplicación
protected void InvokeEnableBackControl()
{
if (this.InvokeRequired)
{
this.Invoke(new OpHandler(EnableBackControl));
}
else
{
EnableBackControl();
}
}
A veces, cuando yo haga este código, el hilo principal se colgaron en el siguiente código:
protected virtual void EnableBackControl()
{
if (overlayAnimation.TargetControl != null)
{
overlayAnimation.TargetControl.BringToFront();
}
overlayAnimation.SendToBack();
overlayAnimation.Enabled = false;
overlayAnimation.Visible = false;
}
I' No estoy seguro si está colgado configurando la propiedad Enable
o Visible
. ¿Conoces alguna circunstancia que pueda entregar la aplicación llamando a estas propiedades desde Control.Invoke
?
¿Existe un patrón discernible a los tiempos en que se cuelga? –
@No, solo "a veces". Molesto. –
Documente la sentencia * exact * que cuelga, publique el seguimiento de la pila. –