C# 不包含密钥的定义

C# 不包含密钥的定义,c#,C#,我是新的编码,抱歉,如果这是不正确的。我试着用C#识别我是否按下了空格键。我在网上找到了这段代码,但它不起作用 if (e.Key == Key.Space) { } 我得到的错误是: “EventArgs”不包含“Key”的定义,也不包含扩展名 接受类型为“EventArgs”的第一个参数的方法“Key”可以是 找到(是否缺少using指令或程序集引用?) 任何帮助都将不胜感激。KeyEventArgs包含e.Key 将您的EventHandler更改为KeyEventHandle

我是新的编码,抱歉,如果这是不正确的。我试着用C#识别我是否按下了空格键。我在网上找到了这段代码,但它不起作用

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

  }
我得到的错误是:

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


任何帮助都将不胜感激。

KeyEventArgs
包含
e.Key

将您的
EventHandler
更改为
KeyEventHandler
,并使用
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;
    }
}

KeyEventArgs
包含
e.Key

将您的
EventHandler
更改为
KeyEventHandler
,并使用
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;
    }
}

EventArgs是事件的基类,您必须将其强制转换为特定类型。在本例中,是KeyEventArgs。您会注意到,在许多其他情况下。

EventArgs是事件的基类,您必须将其强制转换为特定类型。在本例中,是KeyEventArgs。您会注意到在许多其他情况下。

在什么对象中?您必须在对象上分配事件。示例如果您使用的是textbox,请转到属性并分配事件,如
Keydown
on key部分。(即Textbox1_KeyDown)双击它查看代码,然后插入关键事件参数

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Space)
    {
        MessageBox.Show("Space pressed");
    }
}

您还可以在什么对象中使用KeyCode
e.KeyCode==Key.Space

?您必须在对象上分配事件。示例如果您使用的是textbox,请转到属性并分配事件,如
Keydown
on key部分。(即Textbox1_KeyDown)双击它查看代码,然后插入关键事件参数

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Space)
    {
        MessageBox.Show("Space pressed");
    }
}
您还可以使用KeyCode
e.KeyCode==Key.Space