OnKeyDown can lead to very inconsistent movement (speeding up/slowing down depending on events passed in, different keyboard repeat rates, etc.). Not recommended, dude. Use GetKeyState, GetAsyncKeyState or GetKeyboardState instead.