Problem mit Focus des Formulars
-
Hallo zusammen,
ich habe ein eigenartiges Problem, das ich nicht zu lösen vermag. Ich reagiere auf Pfeiltasten, indem ich folgende Methode überschrieben habe:
protected override bool ProcessDialogKey(Keys keyData) { Console.WriteLine("pressed"); switch (keyData) { case Keys.Right: controller.Move(Directions.RIGHT); break; case Keys.Left: controller.Move(Directions.LEFT); break; case Keys.Down: controller.Move(Directions.DOWN); break; case Keys.Up: controller.Move(Directions.UP); break; } return base.ProcessDialogKey(keyData); }
Wenn das Programm startet und ich auf eine Pfeiltaste drücke, läuft alles wie geplant ab. Wenn ich dann jedoch wieder auf eine Pfeiltaste drücke, wird das entsprechende Event nicht gefeuert und damit ProcessDialogKey nicht aufgerufen.
Wenn ich jedoch einen Button auf das Formular setze, der rein gar nichts macht und ich einmal auf diesen klicke, so wird danach stets das richtige Event ausgelöst und ProcessDialogKey aufgerufen.
Hat dafür jemand eine Erklärung?
-
hat sich erledgit. Eine ListView war Enabled und hat immer den Fokus bekommen, wenn ich eine Taste gedrückt habe. Da diese aber noch leer war, hab ich es nicht bemerkt.