В приведенном ниже коде клавиши со стрелками влево и вправо функционируют должным образом, но стрелки вверх и вниз не распознаются (пошагово выполняя первые два условия встречаются там, где это уместно, но вторые два никогда не встречаются):
private void textBox1_KeyDown(object sender, KeyEventArgs e) {
TextBox tb = (TextBox)sender;
if (e.KeyCode.Equals(Keys.Left)) {
SetFocusOneColumnBack(tb.Name);
e.Handled = true;
return;
}
if (e.KeyCode.Equals(Keys.Right)) {
SetFocusOneColumnForward(tb.Name);
e.Handled = true;
return;
}
if (e.KeyCode.Equals(Keys.Up)) {
SetFocusOneRowUp(tb.Name);
e.Handled = true;
return;
}
if (e.KeyCode.Equals(Keys.Down)) {
SetFocusOneRowDown(tb.Name);
e.Handled = true;
return;
}
}
Почему это может быть и как я могу это исправить?
Вот что я вижу, когда я наводил курсор на e.Keycode во время прохождения. Если я нажму
e.KeyCode = "LButton | MButton | Пробел"
e.KeyCode = "LButton | RButton | MButton | Пробел"
e.KeyCode = "RButton | MButton | Пробел"
e.KeyCode = "Backspace | Пробел"
Это сбило меня с толку (то, что оно мне показывает), но мой код вводится по клавишам влево и вправо, а не для клавиш вверх и вниз, независимо от того, как сильно я сжимаю зубы.