我知道这可能是一个简单的答案,你们中的一些,但我不知道如何正确地做到这一点。我创建了一个文本编辑器,它也有一个显示功能的对接窗口。我已经在菜单中设置了F8是显示功能窗口的快捷键。我也想搭上F8按键事件来解析在程序中的功能的当前数据,但我不能让这样的事情发生..重写按键
重写按键
回答
捕捉你的文本编辑器keyPressed事件,并检查KeyEventArgs
被进来的,然后标记为假的没有处理,这将导致事件传递到父控制:
例
KeyPressed(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F8) DoSomething();
e.Handled = false;
}
回应你添加到你的问题的评论。您可能需要将控件KeyPreview设置为True。我认为KeyPreview可能仅在表单级别提供,但我不确定。
我认为你有它倒退。将'e.Handled'属性设置为true将防止事件在控件树上传播,同时将'e.Handled'设置为false将允许其他控件捕获它。 – 2010-12-14 16:57:41
@Mike Webb ahhh在我的探索错字,谢谢 – msarchet 2010-12-14 16:58:36
哦,等等。对不起,我以为你说的是相反的。混乱。可能想重新给你的答案一点点。 – 2010-12-14 16:59:08
设置一个事件处理程序OnKeyPress
(或OnKeyDown
或OnKeyUp
)事件,并检查哪个键被按下(它将在事件参数中)。然后,你可以做任何你想做的事情。
我不知道明白了一切,但你不能使用KeyPress Event提供任何控制?
我不认为标签的答案是正确的。 KeyPress事件处理程序不会处理功能键;您需要使用KeyUp事件处理程序或ProcessDialogKey方法。
- 1. lwuit中重写按键方法
- 2. 按键被写入文件
- 3. 重写Omniauth键/从轨
- 4. 的Android重写home键
- 5. 重写微软Office热键
- 6. 重写Home键长按类别.HOME活动
- 7. IIS Url重写地图,按值获取关键字?
- 8. 重命名软键盘上的按键
- 9. 如何重新映射键盘按键
- 10. 重复按键每一秒
- 11. Firefox按键重置变量?
- 12. Windows上的按键重复
- 13. 重写后退按钮
- 14. C#多重按键输入不重叠
- 15. 不重写父按钮的按钮IsEnabled
- 16. 重写属性文件中的键值通过重写ResourceBundle
- 17. C#写文字时键按住
- 18. 按下shift键时强制小写
- 19. URL重写:添加关键字
- 20. 浮游左键在Chrome中重写
- 21. 关键字使用重写规则
- 22. 重写formfield_for_choice_field抛出键错误
- 23. 在按键上重新启动UIActivityIndicator
- 24. Python Turtle按键事件不重复
- 25. Emacs中按键的重放“脚本”
- 26. 按键更改单元格重点
- 27. JCombobox失去了重点按ENTER键
- 28. 重复按键事件阻塞
- 29. 了JavaFx:把阶段重点按键
- 30. 如何在按键上重置会话
什么奇怪的是,我可以按任何F键,并没有任何反应,但如果我按常规键,然后停止。 – mookie 2010-12-14 16:52:20
看到我的回答编辑 – msarchet 2010-12-14 16:55:14