Событие KeyDown не работает на ключе PrintScreen - PullRequest
9 голосов
/ 27 ноября 2010

Я использую C # Windows Application

Я проверяю, какая клавиша нажата пользователем на клавиатуре. Я проверил все ключи, но он не работает в случае printScreen

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
        MessageBox.Show(e.KeyCode.ToString());
}

Так как же определить PrintScreen Ключ

Ответы [ 4 ]

10 голосов
/ 27 ноября 2010

Вы можете использовать KeyUp, он захватывает PrintScreen ключ.

6 голосов
/ 27 ноября 2010

Клавиша экрана печати перехватывается ОС перед отправкой в ​​приложения. Чтобы обнаружить такие клавиши, вам нужно использовать клавиатуру . Возможно, вам будет интересна эта статья: Низкоуровневые хуки Windows API из C # для остановки нежелательных нажатий клавиш

3 голосов
/ 06 февраля 2013

Вы можете использовать

e.Key == Key.Snapshot

Это будет работать для события KeyUp

0 голосов
/ 05 июня 2014

Если событие KeyUp все еще не работает, попробуйте изменить свойство форм KeyPreview на true, а затем снова протестируйте событие KeyUp.

...