我的WinForms应用程序中有快捷键,但我想在子控件之后处理它们。
我在主控件中使用 KeyDown 事件,'g' 键用于显示网格。但是在主控件内的编辑框中,当我按下“g”键时,会显示网格并且编辑框会收到“g”。如果我设置快捷键处理的“g”键,编辑框不会收到“g”键。
=> 我的目标是让所有的键首先由孩子处理,然后由主窗口处理,如果还没有处理的话。
这是一个代码片段:
public ShortCutManager(Control Control, string Title)
{
_Control = Control;
_Control.KeyDown += OnKeyDown;
}
private void OnKeyDown(object Sender, KeyEventArgs KeyEventArgs)
{
if (KeyEventArgs.KeyCode == Keys.G)
{
// What I need
SendKeyEventToChildren(KeyEventArgs);
if (KeyEventArgs.Handled == false)
{
DoShortcutCommand();
KeyEventArgs.Handled = true;
}
}
}