2009-05-11 4 views
1

私のC#/ winformsアプリケーションでアプリケーションのキーボードショートカットのようなことをしたいと思います。テキストボックスのようにテキストを編集できます。c#/ winforms:編集可能なコントロールの例外を含むアプリケーションワイドのキーボードショートカット

現在、私はこれを行うためにこの関数を上書きしています。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData); 

ユーザーに編集可能なコントロールがあるときに、この例外が発生することはありますか?

ありがとうございました!

答えて

1

ここに2つの解決策があります。

1)各編集可能なコントロールですべてのキーボードイベントを処理し、eventArgsオブジェクトでHandledプロパティをtrueに設定します。

e.Handled = true;

2)ワイドキーボードショートカットを実行する前に、フォーカスを持つコントロールを探し、それがTextBoxの場合は無視します。各フォームには、Controlにフォーカスしていることを示すメソッドがあります。

2番目のオプションはよりクリーンです。私はVisual Studioをまだ開いていないのでコードを書いていませんが、より具体的なコードが必要な場合は質問することができます。

PS:ここで、私はいくつかは、あなたのためのグーグルでした:How to Get FOcused Control?

+0

感謝!二番目のバージョンは良いです! – clamp

関連する問題