无法在C#中使用KeyCode

Dan*_*ssa -2 c# keycode

我试图这样做,以便当用户按下键盘上的PrintScreen按钮时,会出现一个消息框.

我在网上看了很多,这段代码似乎是如何去做的标准.

问题是,我得到一个错误说,

System.Windows.Forms.KeyPressEventArgs'不包含'KeyCode'的定义,并且没有扩展方法'KeyCode'可以找到类型为'System.Windows.Forms.KeyPressEventArgs'的第一个参数(你是否缺少using指令或装配参考?)

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyCode == Keys.PrintScreen)
        {
            MessageBox.Show("Test");
        }
    }
Run Code Online (Sandbox Code Playgroud)

And*_*elj 5

而不是使用KeyPress,使用KeyDown事件.KeyPress事件仅触发可打印字符,而PrintScreen不是其中之一,因此它只暴露KeyChar属性,而KeyDown或KeyUp将公开KeyCode.

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode == Keys.PrintScreen)
    {
        MessageBox.Show("Test");
    }
}
Run Code Online (Sandbox Code Playgroud)