Как я могу захватить ключи в приложении WinForms, когда приложение находится в фокусе?
Я попытался использовать события Form_KeyDown
и Form_KeyUp
, но они не работают так, как я их хочу.
Установите KeyPreview
в true
Здесь образец OnKeyDown
переопределяет для вашей формы, которая ест нажатие клавиши и препятствует ее распространению на другие события:
protected override void OnKeyDown(KeyEventArgs e)
{
e.SuppressKeyPress = true; // do this to 'eat' the keystroke
base.OnKeyDown(e);
}