DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Altキーの無効化について

環境/言語:[WindosXP/VB.NET/NET Framework2.0]
分類:[.NET]

始めまして、最近VB.netで開発を行い始めました、カナリアと申します。
不躾な質問では有りますが、一手ご教授願えればと思います。

[質問内容]
現在、アプリケーション上にある、テキストボックスの入力内容を「Alt+S」で送信出来るようなロジックをKeyDownイベントで設定しました。

Private Sub SendBox_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles SendBox.KeyDown
If e.KeyCode = Keys.S Then
If (e.Modifiers And Keys.Alt) = Keys.Alt Then
SendButton.PerformClick()
End If
End If
End Sub

送信自体はこれによって、上手く行ったのですが、Altキーを押すことによって、アプリケーション上部にあるメニューバーを選択する元の機能が動作してしまいます。
Alt以外の機能は正常に使用したいので、ShortCutsEnableを使う訳にもいきません。
どうにかして、Altの機能を無効に出来ないでしょうか?

よろしくお願い致します。
Alt+SによりSendButtonをクリックしたことにしたいってことですよね?

SendButton.Text = "ボタンのタイトル(&S)"
というふうにすれば、SendBox_KeyDownのコードは不要でそれだけで実現できます。
(ポイントはボタンのテキストに&Sを付けること)

&Sのようにテキストに記載すると実際の表示は下線付きのSで表示され、
Windows標準の動作として、Alt + Sでそのボタンをクリックすることができます。

SendButtonのUseMnemonicプロパティはTrueにしておいてください。
(特に変更していなければTrueになっていると思います)
よねKEN様。
早速のお返事ありがとうございます。

試してみたところ、無事Alt+S発言が出来ました!
こんな簡単な方法が有ったとは眼から鱗です。
本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板