Мне нужно захватить следующее событие клавиатуры в TextBox - SHIFT + 8 (на numpad ).Это также означает, что NumLock будет включен.Когда я пытаюсь выполнить следующее, SHIFT + UP не печатается:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Shift && e.KeyCode == Keys.NumPad8)
Console.WriteLine("SHIFT + UP");
Console.WriteLine(e.KeyCode);
Console.WriteLine(e.KeyData);
Console.WriteLine();
}
Но работает CTRL + 8 (на numpad ).
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.NumPad8)
Console.WriteLine("CTRL + UP");
}
Обновление : на одном нажатии клавиши SHIFT + 8 напечатано следующее:
ShiftKey
ShiftKey, Shift
Up
Up
ShiftKey
ShiftKey, Shift
Может кто-нибудь объяснить мне, почему SHIFT + 8 не подходит?t срабатывает, но CTRL + 8 работает?
PS Я написал + UP , потому что пользователь хочет перемещаться с помощью стрелок на клавиатуре и клавиши SHIFT, но его NumLock также будет включен,Вот почему я ловлю Keys.NumPad8 .
Всего наилучшего, Петар