c# - 不包含 Key 的定义
问题描述
我是编码新手,如果这不合适,请见谅。我试图在 C# 中识别我是否按住 Space 键。我在网上找到了这段代码,但它不起作用。
if (e.Key == Key.Space)
{
}
我得到的错误是:
“EventArgs”不包含“Key”的定义,并且找不到接受“EventArgs”类型的第一个参数的扩展方法“Key”(您是否缺少 using 指令或程序集引用?)
任何帮助,将不胜感激。
解决方案
KeyEventArgs
包含e.Key
.
更改您的EventHandler
asKeyEventHandler
并使用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;
}
}
推荐阅读
- amazon-web-services - 如何修复不再支持 AWS Lambda nodejs8.10 错误
- typescript - React Native 中 TextInput 的 onChange 事件的 TypeScript 类型
- angular - 错误:必须在 before 函数或规范中创建间谍,即使它包含在 beforeEach 中
- angular - 网站首次加载时显示为名称的材料图标
- editor - Visual Studio 可以在使用“生成方法”时使用“块体”,但仍然更喜欢“表达式体”吗?(VS2019)
- vba - 前缀和后缀选择,同时保留任何格式
- android - Android:是否可以使用 arrayAdapter 创建一个列表,该列表是可点击的,并且每个列表项都有一个复选框?
- hadoop - 错误:datanode只能由harry执行
- mysql - 按 id 显示两个不同的表
- java - IntelliJ - 如何在*特定*模块中查找类?