2017-03-09 9 views
2

MenuStripメニュー項目のショートカットをCtrl + "Plus Sign"に設定する必要があります。ホットキーのショートカット「Ctrl + Plus Sign」の設定方法

私は、メニュー項目の右側にあるヘルプテキストブロックを持っているプログラムで、それをしないで設定することを好む:

Screenshot of menu

しかし、私は選ぶことがあり、このようなバリアントが表示されません。最も近いのは「OemPlus」

+0

私はそれの名前を覚えていませんが、私はあなたがそれを見つけることができると確信しています..あなたが好きなテキストでホットキーのテキストをオーバーライドできるメニュー項目のプロパティがあります。 –

答えて

2

Oemplusが正しい設定です。テキストが気に入らない場合は、ShortcutKeyDisplayStringと変更してください。 Ctrl++

Screenshot of Hotkey

それはOemPlusなくNumPlusと呼ばれていることに注意することは、とてもテンキープラスでは動作しません。一部の人々は、プラス記号がどこにあるのかわからないようで、ナンプッドプラスを試してみるでしょう。

あなたは両方が必要な場合は、KeyPreview = trueとコードが必要:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (keyData == (Keys.Control | Keys.Add)) 
    { 
     MessageBox.Show("Ctrl+Numplus"); 
     return true; 
    } 
    if (keyData == (Keys.Control | Keys.Oemplus)) 
    { 
     MessageBox.Show("Ctrl+Oemplus"); 
     return true; 
    } 
    return base.ProcessCmdKey(ref msg, keyData); 
} 
+0

でも、numpadの+と - はnumlockが有効か無効かに関係なく完全に動作します。もう1つのプラスは "="と同じボタンにあります。そして、仕事をしてはいけません。したがって、ロジックでは、numpad plusとminusは動作する必要があります。しかし、彼らはしません。 – Andrew

+0

は私の問題を理解しました。ありがとう。ショートカットの両方を作ることは可能ですか? NUMショートカット+ OEMショートカットを意味します。 – Andrew

+1

@Andrew:質問を更新しました。コードが必要です。 –

0

答えはメニューコマンドのカスタムショートカットキー

を表示するにはMSDN https://msdn.microsoft.com/en-us/library/ms171651(v=vs.110).aspx

で見つけることができますメニューコマンドのShortcutKeyDisplayStringプロパティを希望するキーボードの組み合わせ(たとえば、CTRL+SHIFT+S)に設定し、を設定しますプロパティをtrueに設定します。

関連する問題