以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  enter事件求教  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160717)

--  作者:hitzfeld
--  发布时间:2021/2/18 18:40:00
--  enter事件求教
我需要一个功能,当用户在textbox控件输入值之后,敲下回车触发程序。然后我把代码放到了控件的enter事件里面。
但是困扰的是,由于控件值不可为空,我加了个判断,导致一点击这个textbox控件,还没输入值,系统就先提示错误:
Dim x As Row = Tables("table1").current
Dim y As Integer = Forms("领料单").Controls("textbox2").value
Dim z As String = Forms("领料单").Controls("combobox1").value
If y = 0 Or z Is Nothing Then
msgbox("数量不可为0或者单号不可为空")
Return
Else
.
.
执行代码
.
.
.
end if

我希望达到的效果是,在点击控件、输入值的时候系统不要判断代码,等待回车之后再判断,要怎么改?请老师指点下。谢谢!


--  作者:有点蓝
--  发布时间:2021/2/18 20:37:00
--  
敲下回车触发程序应该放到控件的keydown事件:http://www.foxtable.com/webhelp/topics/0741.htm

If e.KeyCode = Keys.enter Then
其它代码
End
 
If

--  作者:hitzfeld
--  发布时间:2021/2/19 17:24:00
--  
以下是引用有点蓝在2021/2/18 20:37:00的发言:
敲下回车触发程序应该放到控件的keydown事件:http://www.foxtable.com/webhelp/topics/0741.htm

If e.KeyCode = Keys.enter Then
其它代码
End
 
If


蓝老师,我按这样改了之后,点击控件不再报错了,但是输入字符后第一次回车仍然报错?要再次点击控件,再回车就正确了。感觉是第一次输入之后,textbox控件的变量并没有变更数值??
但是我明明是输入字符之后才回车的啊?


--  作者:有点蓝
--  发布时间:2021/2/19 17:32:00
--  
贴出具体代码,或者上传实例说明