无法在C#中使用KeyCode

时间:2015-04-30 05:38:15

标签: 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");
        }
    }

2 个答案:

答案 0 :(得分: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");
    }
}

答案 1 :(得分:0)

您可以使用

 e.Key == Key.Snapshot

这将适用于KeyUp和KeyDown事件。