C# 如何使用键单击按钮

C# 如何使用键单击按钮,c#,button,user-controls,shortcut,C#,Button,User Controls,Shortcut,我有一个问题,我怎么能用键盘键点击一个在文本框中输入文本的按钮。。。 我已经编写了这段代码,但它只在突出显示按钮时起作用 private void button1_KeyDown (object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Numpad1) { button1.performClick(); textbox.text += button1.text; input +=

我有一个问题,我怎么能用键盘键点击一个在文本框中输入文本的按钮。。。 我已经编写了这段代码,但它只在突出显示按钮时起作用

private void button1_KeyDown (object sender, KeyEventArgs e)
{
      if (e.KeyCode == Keys.Numpad1)
      {
      button1.performClick();
      textbox.text += button1.text;
      input += button1.text;
      }
}

您需要将KeyDown侦听器与按钮本身关联,而不是与窗口元素关联。您需要在表单上写入KeyDown事件

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Numpad1)
    {
        button1.performClick();
        textbox.text += button1.text;
        input += button1.text;
    }
    else if (e.KeyCode == Keys.Numpad2)
    {
        button2.performClick();
        textbox.text += button2.text;
        input += button2.text;
    }
    .
    .
    .
    //rest of the code to handle other numpad keys
}

可能重复:我正在制作一个计算器,我希望当我按下numpad键时,它会按下calculatorTry中的相应按钮以钩住forms ProcessCmdKey事件。