Kontrolle.Invoke() hängt die Anwendung

Zeige ich eine animation während meiner Steuerung ist das laden der Daten. Wenn der thread beendet ist, Verstecke ich die animation und zeigen Sie die Kontrolle. Also ich bin mit der Ausführung dieses code aus einem thread:

protected void InvokeEnableBackControl()
{
    if (this.InvokeRequired)
    {                
        this.Invoke(new OpHandler(EnableBackControl));
    }
    else
    {
        EnableBackControl();
    }
}

Manchmal, wenn ich diesen code ausführen, der Haupt-thread wird erhängt im folgenden code:

protected virtual void EnableBackControl()
{
    if (overlayAnimation.TargetControl != null)
    {
        overlayAnimation.TargetControl.BringToFront();
    }

    overlayAnimation.SendToBack();
    overlayAnimation.Enabled = false;
    overlayAnimation.Visible = false;                      

}

Ich bin mir nicht sicher, ob es gehängt Einstellung der Enable oder Visible Eigenschaft. Kennen Sie eine Umstand, dass kann die Anwendung aufrufen, diese Eigenschaften aus einer Control.Invoke?

  • Gibt es ein erkennbares Muster zu den Zeiten, wenn es hängt?
  • nur "manchmal". Ärgerlich ist.
  • Dokumentieren Sie die genauen Aussage hängt er sich auf, posten Sie den stack-trace.
Schreibe einen Kommentar