In meiner Anwendung habe ich ein Benutzersteuerelement, das Async-Operationen mit Thread-Pool ausführt. Die Thread-Pool-Methode wie folgt aussieht:Erkennen, ob die Kontrolle entsorgt wurde
private void AsyncFunction(object state)
{
... do the calculation
//refresh the grid data on the UI thread
this.BeginInvoke(new MethodInvoker(() =>
{
... update the ui
}));
}
Mein Problem ist, dass, wenn der Benutzer den Dialog schließt ... die Benutzersteuerung angeordnet wird und ich bekomme die Ausnahme:
Invoke oder BeginInvoke kann nicht aufgerufen werden auf einem Steuerelement, bis das Fensterhandle erstellt wurde.
Kennen Sie einen Weg zu erkennen, ob der Dialog entsorgt wurde? Ich möchte nicht eine Eigenschaft auf Kontrolle, die der Dialog beim Schließen festgelegt. Gibt es eine andere Möglichkeit, dies zu lösen?
Danke,
Radu
+1. Sehr nützliche Frage. – Nick