事件的起因是在做一个项目功能时,添加快捷键关闭声音,这个键最终选择了空格键,但是当按下空格键时,会把窗体中获取焦点的控件(比如按钮,文本框等)的单击事件触发,所以要屏蔽这个现象。
开始使用各种方法,在网上各种查,但是没有什么效果,最后在属性列表中找到一个:Keypreview,说明上表示是 窗体上的控件是否向主窗体注册键盘事件,默认是false,这时设置为true。这样还不行,还要在窗体的Keydown事件中进一步拦截,代码如下:
if (e.KeyCode == Keys.Space)
{
e.Handled = true;//表示已经处理了键盘消息
}
经过这两步就完成了屏蔽。