我知道这对你们中的一些人来说可能是一个简单的答案,但我不知道如何正确地做到这一点。我已经创建了一个文本编辑器,它还有一个显示功能的对接窗口。我在菜单中设置了F8是显示功能窗口的快捷键。我还想抓住F8 keypress事件来解析程序中函数的当前数据,但我不能让它发生..
答案 0 :(得分:3)
捕获文本编辑器KeyPressed事件并检查即将进入的KeyEventArgs
,然后将未处理标记为false,这将导致事件传递到父控件:
实施例
KeyPressed(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F8) DoSomething();
e.Handled = false;
}
回复您添加到问题中的评论。您可能需要将控件KeyPreview设置为True。我认为KeyPreview可能只在表单级别提供,但我不确定。
答案 1 :(得分:1)
为OnKeyPress
(或OnKeyDown
或OnKeyUp
)事件设置事件处理程序,并检查按下了哪个键(它将在事件参数中)。然后,你可以做任何你想做的事。
答案 2 :(得分:1)
我不认为标记的答案是正确的。 KeyPress事件处理程序不会处理Function键;您需要使用KeyUp事件处理程序或ProcessDialogKey方法。
答案 3 :(得分:0)
我不确定是否了解所有内容,但是您不能使用任何控件中的KeyPress Event吗?