Keyevents in Winforms

Keyevents in Winforms sind nicht immer wie gewünscht funktionsfähig. Wer mal einen KeyDown hinzugefügt hat wird das schnell rausfinden:

private void frmLeistungEdit_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if(e.KeyCode == Keys.Escape)
    {
        MessageBox.Show("Escape gedrückt...");
    }
}

Dieses snippet allein wird nicht funktionieren, weil normalerweise Controls den Event abfangen die gerade den Fokus besitzten. Das wird aber nie Form sein… Damit der Event sauber abgearbeitet wird muss noch das KeyPreview Property auf dem Form zu True gesetzt werden.

Hinterlassen Sie einen Kommentar