とっておきの「夜食」教えて下さい

掲題の通り、既存のショートカットを無効にさせたいのですが、方法がわかりません。現在、Windowsのフォームに複数ボタンがあり、そのそれぞれにショートカットキーが割り当てられています。それらすべてのショートカットキーを無効にさせたいです。

問題に至った経緯----------------------------------------------
ボタンのダブルクリックを抑止するため、ボタン押下時、btn.Enabled = false にしています。ですがこれだけでは、クライアントからショートカットキーで複数リクエストを送る事が可能です。
そのため、ボタンのショートカットキーを無効にさせる処理を追加したいのですが、方法がわかりません。
--------------------------------------------------------------

ご存知の方、ご教授お願い致します。

A 回答 (2件)

ProcessCmdKey()メソッドを使ってみては?



@IT > Insider.NET > .NET TIPS > Windowsアプリケーションでキー処理が行われる順序は?
http://www.atmarkit.co.jp/fdotnet/dotnettips/243 …
    • good
    • 0

全てのボタンのTextプロパティで


(&○) みたいな文字列があればそれを消して下さい。
例えば btnOK.Text = "OK(&K)" としていた場合、
Alt+Kでショートカットが実行されてしまいます。
この場合、(&K)の部分を消せばAlt+Kは動かなくなります。

MenuStripのtoolStripMenuItemでも上記と同様です。
toolStripMenuItemの場合、ShortcutKeysが割り当てられ、
なおかつClickイベント等を実装している場合などでもショートカットが動きます。
この場合はShortcutKeysをNoneに設定して下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報