在c#中,我正在使用此代码对按键做出反应。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.NumPad1)
{
button_1.PerformClick();
return true;
}
}
我为所有小键盘编号定义了这个,并且效果很好。但我无法在NumPad上为(/,, - ,+)定义此函数。我已经阅读了解决方案throw keyCode的一些主题...就像if(e.keykode == 46)而不是某些东西。但是在我按下回车后它才起作用。我需要imediatly反应没有键+, - ,,/。有人可以帮我吗?
答案 0 :(得分:4)
我相信你正在寻找Keys.Add
,Keys.Divide
,Keys.Multiply
和Keys.Subtract
。
要使用它们,这与您已经完成的完全相同:
if(keyData == Keys.Multiply) { // or Add, Divide, or Subtract
btnMultiply.PerformClick(); // Or whatever else you want to do here.
}
答案 1 :(得分:1)
您是否希望在类似的事件中发生这种情况:
private void txtText_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Add)
{
//do something
}
}
这样的事情对你有用。