私のフォームでKeyUpイベントをキャプチャする必要があります(「フルスクリーンモード」を切り替える)。私がやっていることは次のとおりです。子コントロールにフォーカスがあるときにフォーム上にKeyUpイベントをキャプチャします。
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
if (e.KeyCode == Keys.F12) this.ToggleFullScreen();
}
private void ToggleFullScreen()
{
// Snazzy code goes here
}
フォームのコントロールにフォーカスがない限り、これはうまくいきます。その場合、私はイベントを一切受け取っていません(OnKeyDownも試しました - そこには運がありません)。
子コントロールからKeyUpイベントを処理することはできますが、フォーム上のコントロールは動的に生成され、多数の子コントロールが存在する可能性があります。
私は確かに再帰関数で行うことができる画面上のすべてのコントロールのイベントハンドラを生成せずにこれを行う方法はありますか?
短くて甘い。私はそれが好きです! – Joseph
ちょうど私が必要なもの!完璧なおかげで! –