使用左/右键盘按钮

时间:2017-04-06 12:05:58

标签: c# winforms user-interface keyboard keycode

我试图用键盘上的左右按钮调用功能,但不确定如何正确操作。

在此尝试的结果中,按下左/右键盘键只是在常规方式之间切换GUI元素,并且不适用于给定的功能。不确定这里有什么问题:

   private void Form1_KeyDown(object sender, KeyEventArgs e)
   {
       if (e.KeyCode == Keys.Right)
       {
          func1();
       }
       else if (e.KeyCode == Keys.Left)
       {
          func2();
       }
   }

2 个答案:

答案 0 :(得分:2)

在某些评论中提到的启用keypreview的替代方法是覆盖ProcessCmdKey方法。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{
    if (keyData == Keys.Right)
    {
      func1();
      return true;
    }
    else if (keyData == Keys.Left)
    {
      func2();
      return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

有关详细信息,请参阅this MSDN article

答案 1 :(得分:1)

你所使用的代码工作正常,你不能事先按任何东西。我认为你正在寻找一般的keydown,如here

所示