Moin,
ich habe ein Programm geschrieben, welches eine Spielprozedur asynchron ausführt. Jetzt hatte ich gerade Folgendes gemacht. Ich habe auf „Neue Runde“ geklickt, in dem Moment fiel mir ein „Oh, ich wollte ja beenden“, klicke in der GUI auf
System.InvalidOperationException: "Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde."
Logisch, der asynchrone Thread war noch nicht abgeschlossen, aber die Labels waren schon nicht mehr existent, weil aufgeräumt wurde.
Wie kann ich den asynchronen Thread sofort abbrechen, wenn
ich habe ein Programm geschrieben, welches eine Spielprozedur asynchron ausführt. Jetzt hatte ich gerade Folgendes gemacht. Ich habe auf „Neue Runde“ geklickt, in dem Moment fiel mir ein „Oh, ich wollte ja beenden“, klicke in der GUI auf
schließen
, und dann kam der Crash: System.InvalidOperationException: "Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde."
Logisch, der asynchrone Thread war noch nicht abgeschlossen, aber die Labels waren schon nicht mehr existent, weil aufgeräumt wurde.
Wie kann ich den asynchronen Thread sofort abbrechen, wenn
schließen
geklickt wird? Ich habe an Thread.Kill()
gedacht, jedoch weiß ich nicht, wie ich herausfinde, welche Nummer er hat.