• ベストアンサー

【C#】 : WindowsProgramming ショートカットを無効にしたい

掲題の通り、既存のショートカットを無効にさせたいのですが、方法がわかりません。現在、Windowsのフォームに複数ボタンがあり、そのそれぞれにショートカットキーが割り当てられています。それらすべてのショートカットキーを無効にさせたいです。 問題に至った経緯---------------------------------------------- ボタンのダブルクリックを抑止するため、ボタン押下時、btn.Enabled = false にしています。ですがこれだけでは、クライアントからショートカットキーで複数リクエストを送る事が可能です。 そのため、ボタンのショートカットキーを無効にさせる処理を追加したいのですが、方法がわかりません。 -------------------------------------------------------------- ご存知の方、ご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.1

ProcessCmdKey()メソッドを使ってみては? @IT > Insider.NET > .NET TIPS > Windowsアプリケーションでキー処理が行われる順序は? http://www.atmarkit.co.jp/fdotnet/dotnettips/243winkeyproc/winkeyproc.html

その他の回答 (1)

  • zzz_sheep
  • ベストアンサー率21% (36/166)
回答No.2

全てのボタンのTextプロパティで (&○) みたいな文字列があればそれを消して下さい。 例えば btnOK.Text = "OK(&K)" としていた場合、 Alt+Kでショートカットが実行されてしまいます。 この場合、(&K)の部分を消せばAlt+Kは動かなくなります。 MenuStripのtoolStripMenuItemでも上記と同様です。 toolStripMenuItemの場合、ShortcutKeysが割り当てられ、 なおかつClickイベント等を実装している場合などでもショートカットが動きます。 この場合はShortcutKeysをNoneに設定して下さい。