- ベストアンサー
【C#】 : WindowsProgramming ショートカットを無効にしたい
掲題の通り、既存のショートカットを無効にさせたいのですが、方法がわかりません。現在、Windowsのフォームに複数ボタンがあり、そのそれぞれにショートカットキーが割り当てられています。それらすべてのショートカットキーを無効にさせたいです。 問題に至った経緯---------------------------------------------- ボタンのダブルクリックを抑止するため、ボタン押下時、btn.Enabled = false にしています。ですがこれだけでは、クライアントからショートカットキーで複数リクエストを送る事が可能です。 そのため、ボタンのショートカットキーを無効にさせる処理を追加したいのですが、方法がわかりません。 -------------------------------------------------------------- ご存知の方、ご教授お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ProcessCmdKey()メソッドを使ってみては? @IT > Insider.NET > .NET TIPS > Windowsアプリケーションでキー処理が行われる順序は? http://www.atmarkit.co.jp/fdotnet/dotnettips/243winkeyproc/winkeyproc.html
その他の回答 (1)
- zzz_sheep
- ベストアンサー率21% (36/166)
全てのボタンのTextプロパティで (&○) みたいな文字列があればそれを消して下さい。 例えば btnOK.Text = "OK(&K)" としていた場合、 Alt+Kでショートカットが実行されてしまいます。 この場合、(&K)の部分を消せばAlt+Kは動かなくなります。 MenuStripのtoolStripMenuItemでも上記と同様です。 toolStripMenuItemの場合、ShortcutKeysが割り当てられ、 なおかつClickイベント等を実装している場合などでもショートカットが動きます。 この場合はShortcutKeysをNoneに設定して下さい。