Вы можете использовать KeyPreview и OnKeyPreview здесь, в зависимости от того, какие элементы управления вы используете в форме. Иногда KeyDown и KeyUp обрабатываются, прежде чем вы получите возможность обрабатывать их самостоятельно.
Кстати, для приложений Windows использование клавиши «q» без каких-либо модификаторов для выхода - не такая уж хорошая идея, поскольку в форме могут быть текстовые поля, принимающие ввод, и ваше приложение закроется, если кто-то напишет «quebec» в текстовое поле.
А если вы не хотите использовать события, то ПЕРЕЗАГРУЗИТЕ те же виртуальные методы и предоставьте для них реализацию, которая будет делать то, что вы хотите. Но опять же, предпочтительный метод здесь с событиями.