如何对我的计算器中的(+, - ,* /)做出反应

时间:2011-04-18 18:10:29

标签: c# visual-studio-2010

在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反应没有键+, - ,,/。有人可以帮我吗?

2 个答案:

答案 0 :(得分:4)

我相信你正在寻找Keys.AddKeys.DivideKeys.MultiplyKeys.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
          }
    }

这样的事情对你有用。