Windows Forms C#; Warum reagiert das Programm nicht mehr während der While schleife?
Ich bin noch absoluter Anfänger und möchte daher wissen, was es für Möglichkeiten einer Schleife in C# zu machen, ohne das das Forms Programm auf nichts mehr Reagiert. Die einzigen die ich kenne ist die While und die For Schleife.
Aktuell benutze ich die While Schleife, jedoch sobald die aktiv ist reagiert nichts mehr weder der Timer noch das Zählen läuft weiter und Esc funktioniert auch nicht mehr. Nur noch der Task Manager kann helfen das Programm zu schließen.
Was gibt es für Möglichkeiten das es nicht mehr so ist und trotz der aktiven While Funktion noch alles Funktioniert.
1 Antwort
Das liegt daran, dass du den Hauptthread der Anwendung, der u.a. für die Verarbeitung der einzelnen Events der Oberfläche verantwortlich ist blockierst.
Das ließe sich beheben, indem du die Schleife in einem eigenen Thread ausführst und gelegentliche Kommunikation mit der Oberfläche per Invoke durchführst.