用下面的代码,左,预期右箭头键的功能,但向上和向下箭头无法识别(通过它加强,前两个条件都满足适当的,但后两个永远是):
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;
}
}
为什么会变成这样,我怎么能解决这个问题?
UPDATE
这是我看到的时候我将鼠标悬停在e.Keycode同时步进通过。 如果我按
- ...左箭头键,我看到:
e.KeyCode = "LButton | MButton | Space"
- ...右箭头键,我看到:
e.KeyCode = "LButton | RButton | MButton | Space"
- ...向上箭头键,我看到:
e.KeyCode = "RButton | MButton | Space"
- ...向下箭头键,我看到:
e.KeyCode = "Backspace | Space"
这让我感到困惑(什么它显示我),但keyleft和keyright,进入我的代码 - 它永远不会是KEYUP和的keydown,不管我怎么努力握紧我的牙。