试图检测按键

Ada*_*MOD 3 c# keypress

我做了一个方法来检测按键何时被按下,但它不起作用!继承我的代码

void KeyDetect(object sender, KeyEventArgs e)
{ 
    if (e.KeyCode == Keys.W && firstload == true)
    {
        MessageBox.Show("Good, now move to that box over to your left");
        firstload = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试创建一个keyeventhandler但是,它"无法分配给密钥检测,因为它是一个方法组"

public Gwindow()
{
    this.KeyDetect += new KeyEventHandler(KeyDetect);
    InitializeComponent();    
}
Run Code Online (Sandbox Code Playgroud)

Rav*_*ale 6

使用这样的按键事件:

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyCode == Keys.F1 && e.Alt)
    {
        //do something
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 可以肯定的是,“==”符号是指检查相等性而不是赋值。 (2认同)

小智 6

1) 转到表单的属性

2) 查找“Misc”部分并确保“KeyPreview”设置为“True”

3) 转到表单的“活动”

4)找到“Key”部分,双击“KeyDown”生成处理按键按下事件的函数

这是一些示例代码:

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        Console.WriteLine("You pressed " + e.KeyCode);
        if (e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0)
        {
            //Do Something if the 0 key is pressed (includes Num Pad 0)
        }
    }
Run Code Online (Sandbox Code Playgroud)