winforms 如何让键盘上的键按下C# [复制]

svmlkihl  于 2022-11-17  发布在  C#
关注(0)|答案(2)|浏览(139)

此问题在此处已有答案

Best way to implement keyboard shortcuts in a Windows Forms application?(9个答案)
三个月前关门了。
我试图让键盘上的键按下(不是一个具体的),我看了一些“解决方案”到处都是,我发现没有什么工作.条件:需要将面板锚定在表单上。

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
  {
      KeysConverter convertor = new KeysConverter();
      string keyPressed = convertor.ConvertToString(e.KeyChar);
      if (keyPressed == "t")
      {
          Console.WriteLine("THIS IS T");
      }
  }
jxct1oxe

jxct1oxe1#

在Form1.cs中尝试此操作

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.T)
    {
        MessageBox.Show("THIS IS T");
    }

    return base.ProcessCmdKey(ref msg, keyData);
}
kx1ctssn

kx1ctssn2#

根据我的理解,您将焦点放在按钮B上,并定义如果按下A键,将执行与A按钮相关的代码。
使用代码:

protected override bool ProcessCmdKey(ref Message message, Keys KeyData)
{
    switch (KeyData)
    {
        case Keys. A:
            MessageBox.Show("Hello");
            break;
    }
    return true;
}

相关问题