1

私は自分のプログラムで ContextMenuStrip を使用していますが、Alt を押さない限り、そのショートカット キー (ニーモニック、& の前にある文字の下に下線として表示する必要があるキー) が表示されませんが、Alt を押すと、表示された ContextMenuStrip が非表示になりますフォームのメイン メニューがフォーカスされるためです。したがって、コンテキスト メニューでは、ニーモニックは表示されません。

プログラムでこの動作を強制的にオンにする方法はありますか? システム設定のどこかで変更できることを他の場所で読みましたが、私のソフトウェアを使用している人々が常にニーモニックを確認できるようにする必要があります。プログラムが正しく動作するためにシステムをグローバルに変更する必要はありません!

コントロールによって表される値をすばやく編集するためのポップアップであるため、ユーザーが Enter キーを押したときに KeyDown イベントハンドラーのコードを介してこのメ​​ニューを表示する必要があります。ユーザーがコントロールをクリックすると、その内容をすばやく変更できます。C# で ctrl+space を押すとポップアップが表示され、この正確な場所に挿入できる可能性のあるコード スニペットが示唆されていると考えてください。したがって、コントロールの「コンテキスト メニュー」プロパティとして使用するか、キーボードの「コンテキスト メニューを表示」ボタンを使用しても適用されません。

ありがとう!

4

2 に答える 2

2

これはオペレーティング システムの設定です。

コントロール パネル\すべてのコントロール パネル項目\コンピューターの簡単操作センター\キーボードを使いやすくする\キーボード ショートカットを使いやすくする\キーボード ショートカットとアクセス キーに下線を付けます。

于 2012-04-15T16:51:43.253 に答える
0

コンテキスト メニューの呼び出し方法を変更します。手動で表示しないでください。代わりに次のようなものを使用してください。

textBoxSomething.ContextMenuStrip = yourContextMenuStrip;

この場合、ユーザーがテキスト ボックス (または使用する他のコントロール) を右クリックすると、ニーモニックなしでメニューが表示されます。しかし、キーボードの context-menu-button を使用してコンテキスト メニューを表示すると、ニーモニックが表示されます。

于 2012-04-15T17:25:40.277 に答える