Schleife abbrechen mit ESC?

18/09/2008 - 13:31 von Frederick Steinke | Report spam
Hallo,

bin leider noch anfànger in c# und habe eine hoffentlich für die leute hier
simple frage. Ich möchte eine While oder For schleife abbrechen wenn diese
gerade làuft und der user gerade esc drückt. wich mache ich das? also wie
sieht da der befehl aus?

Wàre super wenn mir hier jemand helfen könnte.
Bin für jeden Tip dankbar.

GrußFrederick
 

Lesen sie die antworten

#1 Marvin Massih
18/09/2008 - 13:53 | Warnen spam
Hallo Frederick,

Frederick Steinke schrieb:
Ich möchte eine While oder For schleife abbrechen
wenn diese gerade làuft und der user gerade esc drückt. wich mache ich
das? also wie sieht da der befehl aus?



Das geht nicht so ohne Weiteres, du musst etwa eine Variable (oder beim
BackgroundWorker die entsprechende Eigenschaft) abfragen:

bool abbruch;
// [...]
for( int i=0; i < 100000; i++ )
{
if( abbruch )
break;

TueDasWasDuSonstTust( );
}

Damit der Benutzer aber überhaupt irgendwie mit dem Programm
interagieren kann, darf diese Schleife nicht im GUI-Thread laufen, sonst
blockiert das Programm einfach.

Verwende daher für solche Operationen Threads bzw. einen BackgroundWorker.

[ Gewusst wie: Ausführen eines Vorgangs im Hintergrund ]
http://msdn.microsoft.com/de-de/library/hybbz6ke(VS.80).aspx

[ Gewusst wie: Implementieren eines Formulars, das eine
Hintergrundoperation verwendet ]
http://msdn.microsoft.com/de-de/library/waw3xexc(VS.80).aspx

[ Erstellen von Threads und Übergeben von Daten zur Startzeit ]
http://msdn.microsoft.com/de-de/library/ts553s52(VS.80).aspx

Du findest in der MSDN so einiges an Info zu dem Thema.

Gruß
Marvin

Ähnliche fragen