"Keine Rückmeldung" nach KeyDown
-
Hey Leute,
ich möchte eine picturebox via Pfeiltasten steuern, was im Grunde auch funktioniert! Nun habe ich dies jedoch in eine Schleife gepackt d.h., wenn ich das Programm starte funktioniert die erste "Bewegung" doch dann meldet Windows "Keine Rückmeldung"! Ich hatte versucht diese Problem mit einem Backgroundworker zu umgehen, hatte aber keinen Erfolg!Ich hoffe ihr könnt mir helfen!!
Danke schon mal!Grüße
-
Du brauchst keine Schleife denn bei jedem Aufruf von KeyDown wird das Event automatisch aufgerufen.
Im Hintergrund läuft quasi schon eine Schleife.
-
Okay, danke schon mal für die Antwort.
Also hier mal mein Codeif(e->KeyCode==Keys::Down) { do { y++; this->pictureBox1->Location= System::Drawing::Point(x,y); } while(e->KeyCode==Keys::Down); }
ich möchte das die picbox solange bewegt wird bis ich ein anderes KeyDown Event starte also z.B. Keys::UP. So zu sagen, ich drücke einmal Down und die picbox wandert nach unten.
-
jack1994 schrieb:
Okay, danke schon mal für die Antwort.
Also hier mal mein Codeif(e->KeyCode==Keys::Down) { do { y++; this->pictureBox1->Location= System::Drawing::Point(x,y); } while(e->KeyCode==Keys::Down); }
ich möchte das die picbox solange bewegt wird bis ich ein anderes KeyDown Event starte also z.B. Keys::UP. So zu sagen, ich drücke einmal Down und die picbox wandert nach unten.
Dazu brauchst du einen Backgroundworker. Die Schleife hält alles auf und deswegen hängt sich dein Programm auch auf ^^
-
Dann besser einen Timer verwenden (denn dieser läuft im GUI-Thread).
-
Patrickssj6 schrieb:
Dazu brauchst du einen Backgroundworker. Die Schleife hält alles auf und deswegen hängt sich dein Programm auch auf ^^
ja das dachte ich mir auch schon! Ich hatte es gestern auch schon mit nem Woker probiert, da liefs nur nicht, weil ichs falsch angegangen bin. ^^
Jetzt hab ich das Problem einfach mit einer Globalen Variable gelöst die ich über das KeyDown-Event übergeben! Damit klapps.
Danke für eure Hilfe!