计算器按键

时间:2009-06-23 07:26:06

标签: c# .net winforms

我做了一个基本的计算器。但我不知道如何分配按键。如何分配?

4 个答案:

答案 0 :(得分:4)

强烈建议你拿一份C#书(包括Windows窗体等)或尝试按照在线教程。

例如,请查看this tutorialthis one ... Google搜索“C#窗体格式计算器”可获得320,000次点击!

按键屏幕

假设您正在开发GUI并通过“按键”表示“屏幕上的键”,那么您想要做的大致是:

  1. 为您的按钮分配一个事件,Click事件似乎最好。
  2. 在事件处理程序中,您需要维护一些点击列表或直接转换为数字,例如currentDisplayValue =(currentDisplayValue * 10)+ thisDigit
  3. 按下加号,减号,乘,除,等于按钮时,需要使用displayValue和先前计算的值执行相应的操作。
  4. 计算器的逻辑很容易在互联网上找到,魔术是将按钮的事件连接到事件处理程序,为您完成工作!

    物理键(例如,数字键盘)

    这变得更难了。 GUI通常将键盘路由到聚焦控件。你需要克服这种路由:

    • 在表单上,​​将KeyPreview设置为true
    • 将事件处理程序注册到表单

      // Associate the event-handling method with the
      // KeyDown event.
      this.KeyDown += new KeyEventHandler(Form1_KeyDown);
      
    • 在事件处理程序中,使用“KeyCode”值进行计算

      private void Form1_KeyDown(object sender, KeyEventArgs e)
      {
          switch (e.KeyCode)
          {
              case "0": 
                  // Zero
                  break;
              case "1": 
                  // One
                  break;
              // .. etc
              case "+": 
                  // Plus
                  break;
              default:
                  // Avoid setting e.Handled to                 
                  return;
          }
          e.Handled = true;
      }
      

答案 1 :(得分:1)

您可以连接文本框OnKeyPress事件

以下是MSDN

的示例

希望这有帮助

答案 2 :(得分:0)

如果此计算器是Windows窗体应用程序,则:

只需双击设计器中的按钮(视觉工作室设计师,您可以在其中创建表单并添加按钮)。这将为您的按钮添加点击处理程序。

对于按键选择按钮,现在在属性选项卡中单击闪电图标(用于显示事件而不是网格中的属性),然后双击 KeyPress 事件。

如果您的意思是分配快捷键,那么只需添加&在按钮文本之前(& 8),用户可以按Alt + 8模拟点击8按钮。

答案 3 :(得分:0)

假设您有数字和数学运算的按钮,您还可以执行以下操作:

  1. 将表单的KeyPreview属性设置为true
  2. 向表单
  3. 添加OnKeyPress事件处理程序
  4. 处理任何必要的密钥
  5. 处理按键的代码可能如下所示:

    if (e.KeyChar == '0')
    {
        e.Handled = true;
        btn0.PerformClick();
    }
    

    这意味着:如果按下'0'键,则以编程方式按下代表0的按钮。您可以用同样的方式处理*/等。

    修改

    当然我假设你已经为你已经做了你想做的事情的相应按钮分配了一个点击事件(例如添加要显示的数字,对数字执行操作和显示结果等)。