DropDownスタイルのコンボボックスのEnterキー押下時に
ビープ音が鳴る現象を回避するために、
コンボボックスの派生クラスを作成し、その中で
PreProcessMessageを以下のようにオーバーライドしました。
'Enterキー押下時の警告音回避のためのオーバーライド
Public Overrides Function PreProcessMessage _
(ByRef msg As System.Windows.Forms.Message) As Boolean
Const WM_KEYDOWN As Integer = &H100
Select Case True
Case msg.Msg = WM_KEYDOWN _
AndAlso (msg.WParam.ToInt32() And Keys.KeyCode) = Keys.Enter
Case msg.Msg = WM_KEYDOWN _
AndAlso (msg.WParam.ToInt32() And Keys.KeyCode) = Keys.Tab
Case Else
Return False
End Select
'ここでフォームの次のコントロールをセレクトしている
Return True
End Function
Shift+Tabキーで前のコントロールをセレクトしたいのですが、
Shift+Tabを認識する方法はあるのでしょうか?
長文ですみませんが、ご教授よろしくお願いします。
Form上でKeyDownイベントを使ってはどうでしょうか?
if文を使ってShift+Tabキーが押されたかを判断させればなんとかなると思います。