我有一个组合框,当您在其中键入时会显示选项列表,但是当我尝试使用键盘箭头键浏览列表时,它会选择第一个选项并删除其他选项。我可以选择其他选项的唯一方法是使用鼠标。我希望用户能够使用键盘箭头键导航选项。
这是我的组合框(cboSubject)代码:
Private Sub cboSubject_Change()
Dim strFilter As String
strFilter = Me.cboSubject.Text
Me.cboSubject.RowSource = _
"SELECT tblSubjects.Subject, tblSubjects.Stage, tblSubjects.Semester, tblSubjects.SubjectID " & _
"FROM tblSubjects " & _
"WHERE (((tblSubjects.Stage) Like [screen].[ActiveForm].[cboStage] & '*') " & _
"AND ((tblSubjects.Subject) Like '*" & strFilter & "*')) " & _
"ORDER BY tblSubjects.Stage, tblSubjects.Semester, tblSubjects.SubjectID;"
Me.cboSubject.Dropdown
End Sub
好的,所以我通过将事件形式更改为按键来解决了这个问题。每次组合框中的文本发生更改时,都会触发更改事件。这包括使用键盘箭头键浏览列表时。一旦我使用按键事件,问题就消失了。