我正在编写一个仅由键盘上的numblock控制的应用程序,我需要使用此代码解决问题:
private void btnSaveCorrection_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("HEY");
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("HEY");
// Save to DB and jump to next control
}
else
{
MessageBox.Show("WTF");
// if e.KeyCode is [+] or [-], jump to next/previous control
}
}
问题是: 当我按Enter键时,没有任何反应。当我按任何其他键时,显示MessageBox“WTF”。为什么按下Enter键时会忽略KeyDown事件中的所有代码?如何解决?
感谢您的回复。
答案 0 :(得分:0)
好吧,对我来说,如果您链接KeyUp事件而不是KeyDown事件,它就可以工作。
我认为问题在于输入键被视为"点击"在按钮上作为其默认行为。
我的建议是链接KeyUp事件而不是KeyDown事件。