Tastatur Events an der richtigen Stelle verarbeiten

Mal wieder etwas das man wissen sollte, einen aber Unmengen Zeit kostet wenn man’s nicht weiss.

Folgendes Szenario: Windows Forms Applikation mit einer Listbox.

Ich möchte auf die Page-Up und Page-Down Tasten unabhängig von dieser ListBox auswerten.
Allerdings gehen die KeyDown Events IMMER an die ListBox, die auf ein Page-Down natürlich mit herunterscrollen reagiert, was sie aber nicht soll. Focus auf die Form des Hauptfensters setzen hilft da gar nicht.

Microsoft liefert die Erklärung: Sobald eine Form ein Control wie eine ListBox enthält, gehen die Events ausschliesslich an die Controls. Nur eine Form ohne Controls erhält Key-Events.

Dieses Verhalten zu ändern ist denkbar einfach: Man setzt die Eigenschaft KeyPreview der Form auf True!

„Tastatur Events an der richtigen Stelle verarbeiten“ weiterlesen