首页 > 解决方案 > 不包含 Key 的定义

问题描述

我是编码新手,如果这不合适,请见谅。我试图在 C# 中识别我是否按住 Space 键。我在网上找到了这段代码,但它不起作用。

if (e.Key == Key.Space)
  {

  }

我得到的错误是:

“EventArgs”不包含“Key”的定义,并且找不到接受“EventArgs”类型的第一个参数的扩展方法“Key”(您是否缺少 using 指令或程序集引用?)

任何帮助,将不胜感激。

标签: c#

解决方案


KeyEventArgs包含e.Key.

更改您的EventHandlerasKeyEventHandler并使用KeyEventArgs而不是EventArgs

示例代码

public void EventAdder() {
    Child.KeyDown += new KeyEventHandler( OnKeyDown );
}

private void OnKeyDown( object sender, KeyEventArgs e )
{
    switch( e.KeyCode )
    {
        case Keys.Escape:
            Btn_Cancel_Click( sender, e );
            break;
        case Keys.Enter:
            Btn_Commit_Click( sender, e );
            break;
    }
}

推荐阅读