0

私は大まかに次のようなWinFormsアプリを構築しています:

ここに画像の説明を入力

メニュー、ツールバー、ステータス バー、ナビゲーション ツリー、カスタム描画キャンバス (キーボード入力を受け入れ、テキストを描画し、キャレットもレンダリングする UserControl) を備えた単一のフォームと、ユーザーがテキストを検索します。

これらの動作を機能させるのに苦労しています:

1) 検索パネルのアクセラレータ (大文字と小文字を区別する場合は「c」、単語全体を表す場合は「w」など) は、キャンバスにフォーカスがある場合でも、これらの文字がキャンバスに入力されないようにします。

2) フォーカスがキャンバス以外の場所にあるときに ESC を押すと、キャンバスにフォーカスが戻るはずです。特に、これは検索テキストボックスにフォーカスがあるときに機能するはずです。これは、可能なフォーカスされたコントロールごとではなく、単一のポイントでキーボードをフックすることで実行できますか?

4

1 に答える 1