-- 作者:lianghanyu
-- 发布时间:2020/8/22 8:28:00
-- [求助]KeyDown事件为什么有时触发不了
建立了一个“ComboBox”控件, 用来筛选用的。
在控件的“KeyDown”代码如下:
If e.KeyCode = Keys.enter Then Dim filter As String Dim sts() As String = {"项目编号"} For Each st As String In sts Dim val As String = e.Form.Controls(st).value If val > "" Then val = val.Replace("*","[*]") If filter = "" Then filter = st & " like \'*" & val & "*\'" Else filter = filter & " and " & st & " like \'*" & val & "*\'" End If End If Next
Tables("项目总表").Filter = filter End If
原本意图是在控件中输入一些文字,然后在表中筛选。
但是实际使用的时候 ,往往要按两次回车键才可以。如下图示演示。
其实我在输完“DC35”后按了一次回车键的,但是它不筛选,而是把焦点激活到了“详细信息”的按钮上。
当我再次把ComboBox控件选中,然后再按一次回车键,这时才会有执行筛选动作。
为什么会这样呢?
为什么我第一次按回车时它不按我代码执行筛选,而是跳到了另一个控件上?
这样有实际使用时很不友好,每次都要这样按两次回车键。
此主题相关图片如下:按回车不会筛选1.gif
|