2009-09-01 5 views
1

ICShartEditorテキストエディタで少し問題があるようです。私はWindowsフォームアプリケーションで私のためにうまく動作しますが、「保存」ボタンのALT-Sのようなホットキーを定義する同じフォーム上のボタン(または他のコントロール)を使用すると、テキストエディタで(またはホットキーが何であれ)「S」を選択すると、その文字をテキストに追加するのではなくホットキーがトリガされます。ICSharpEditorとAccidental Hotkeys

フォームのすべてのコントロールのすべてのProcessMnemonic()メソッドが実行されるので、それらのメソッドがキープインしてキーを処理するようになっています。 ALTキーが押された。

誰もその行動を見たことがありますか?回避策や修正プログラムはありますか?

答えて

0

.Netフォームは、多くの人が考えるべきである方法で、ニーモニックを実装していません。 1つの答えは、フォームのProcessMnemonicをオーバーライドし、ユーザーがAltキーを押していない限り呼び出されないようにすることです。

ちょうどあなたのフォームクラスにこれを追加します。

protected override bool ProcessMnemonic(char inputChar) 
{ 
    if (Control.ModifierKeys == Keys.Alt) 
     return base.ProcessMnemonic(inputChar); 
    return false; 
} 
関連する問題