コンボボックスでShift+Tabキーを認識するには?


みけ  2004-06-16 22:37:46  No: 113957

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を認識する方法はあるのでしょうか?
長文ですみませんが、ご教授よろしくお願いします。


マグ  2004-06-17 01:39:51  No: 113958

Form上でKeyDownイベントを使ってはどうでしょうか?

if文を使ってShift+Tabキーが押されたかを判断させればなんとかなると思います。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加