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