c#按钮上/下/左/右未检测到

本文关键字:检测 按钮 | 更新日期: 2023-09-27 18:13:51

一周前,我用它来检测我的up/down/left/right keyswpf应用程序:

private void Invaders_KeyDown(object sender, KeyEventArgs e)
{
    MessageBox.Show(e.KeyCode.ToString());
    switch (e.KeyCode.ToString())
    {
        case "Up":
            MessageBox.Show("Up");
            break;
        case "Down":
            MessageBox.Show("Down");
            break;
        case "Left":
            MessageBox.Show("Left");
            break;
        case "Right":
            MessageBox.Show("Right");
            break;
    }
}

但是今天我启动了一个新的应用程序,这个不再工作了吗?它检测除了up/down/left/right以外的所有东西。这里会发生什么?

c#按钮上/下/左/右未检测到

链接Invaders_PreviewKeyDown到按钮的KeyDown事件。不要使用字符串进行检查。代码应该是:

private void Invaders_PreviewKeyDown(object sender, KeyEventArgs e)
{
     MessageBox.Show(e.KeyCode.ToString());
     switch (e.KeyCode)
     {
        case Keys.Up:
           MessageBox.Show("Up");
           break;
        case Keys.Down:
           MessageBox.Show("Down");
           break;
        case Keys.Left:
          MessageBox.Show("Left");
          break;
        case Keys.Right:
          MessageBox.Show("Right");
        break;
        default:
          // Do something with default
          break;
     }
}