You can use the KeyPreview property to specify whether the form-level keyboard event procedures are invoked before a control's keyboard event procedures (KeyDown, KeyUp, and KeyPress).
You can set the KeyPreview property by using the form's property sheet, a macro, or Visual Basic.
You can set the KeyPreview property in any view.
You can use the KeyPreview property to create a keyboard-handling procedure for a form. For example, when an application uses function keys, setting the KeyPreview property to True allows you to process keystrokes at the form level rather than writing code for each control that might receive keystroke events.
To handle keyboard events only at the form level and prevent controls from receiving keyboard events, set the KeyAscii argument to 0 in the form's KeyPress event procedure, and set the KeyCode argument to 0 in the form's KeyDown and KeyUp event procedures.
If a form has no visible or enabled controls, it automatically receives all keyboard events.