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;
}
}
}