C# Ereignis über Pfeiltasten

alebec7

Ensign
Registriert
Juni 2008
Beiträge
154
Ich habe folgendes Problem:

Ich habe eine Form in C# erstellt auf der ein Bindingnavigator mit Buttons liegt. Mein Ziel ist es, wenn ich die linke Pfeiltaste drücke, dass der linke Button in Navigator gedrückt wird. Leider funktionieren die Keydown und Keypress- Ereignisse der Form nicht. Habe es auch mit KeyPreview auf True versucht:

Code:
private void Einzelnoten_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            if (e.KeyCode == Keys.Right)
            {
                MessageBox.Show("Rechte Taste geklickt");
            }
        }

Das suchen auf google brachte auch keinen gewünschten Erfolg.
 
Hallo zusammen,
versuch doch mal das untere Codefragment. Beachte jedoch das sobald TextBoxen oder Grids in der Form sind, dieser Weg nicht funktioniert, da immer das Control mit dem Fokus auf den Tastendruck reagiert. Es könnte auch dein Problem klären, das nicht die Form sondern ein Control auf der Form den Fokus hat und somit die Events für das Form Fenster (KeyDown, KeyPress) nicht gefeuert werden.

Grüße


Code:
  public class Form1 : Form
  {

    protected override bool ProcessDialogKey(Keys keyData)
    {
      if(keyData == Keys.Right)
        MessageBox.Show("Rechte Taste gedrückt.");
      return base.ProcessDialogKey(keyData);
     }

  }
 
Zurück
Oben