ComboBoxは、マウスの選択以外に、矢印キーやComboBox表示中のインデックスの頭文字キーなどでも
インデックス文字を変更できる。
マウスを使って選択する場合は、ドロップダウンが表示されそこからの選択となる。
この場合は、ComboBoxのTextChangeイベントが発生する。
しかし、キーボードからComboBoxのインデックスを矢印キーなどで選択した場合は、ドロップダウンが表示されずインデックスが変更されてしまう。この場合は、なぜか、TextChangeイベントが発生しない。。
そこで、ComboBoxのKeyDownイベントを以下のように記述して、キーボードからの選択でも
確実にドロップダウンが表示されるようにする(= TextChangeイベントを発生させる)。
Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
If e.KeyCode = Keys.Enter OrElse e.KeyCode = Keys.Escape Then
'通常のキーの動作を行う
Else
ComboBox1.DroppedDown = True
End If
End Sub
If e.KeyCode = Keys.Enter OrElse e.KeyCode = Keys.Escape Then
'通常のキーの動作を行う
Else
ComboBox1.DroppedDown = True
End If
End Sub