登录窗口输入密码后按回车键自动登录,这是很常见的功能,在vb6里可以通过设置相关属性实现,在foxtable里没有这些的属性设置,在论坛里也没有找到完全可行的解决方法,经过自己的摸索,可以实现,特分享给需要的朋友。TextBox1 用户名框
TextBox2 密码框
BtnLogin 登录按钮
过程:TextBox 的按键事件,选择keydown事件,首先判定是不是按了回车键,如果是回车键则模拟点击登录按钮,代码如下:
If e.keycode = 13 Then
e.Form.Controls("BtnLogin").PerformClick()
End If
测试未能成功,找原因,使用MessageBox.show(e.Form.Controls("TextBox2").value),发现值为空,切换一下其他控件,再回到密码控件按回车键就有值了,所以问题在要转移焦点后才能获得值,代码改进如下:
If e.keycode = 13 Then
e.Form.controls("BtnLogin").Select
e.Form.Controls("BtnLogin").PerformClick()
End If
测试成功!
value 改 text 确实可以。还有个问题:
BtnLogin的点击代码
If e.Form.Controls("TextBox2").text = "123" Then
MessageBox.Show("成功")
Else
MessageBox.Show("错误")
e.Form.Controls("TextBox2").Select() '想密码错误的情况下回到密码框
End If
经测试e.Form.Controls("TextBox2").Select() 似乎不起作用,其中原因自己体会,将TextBox2的按键事件修正代码:
If e.keycode = 13 Then
e.Form.Controls("BtnLogin").Select()
Sendkeys.Send("{ENTER}")
End If
成功!
[此贴子已经被作者于2018/1/5 10:35:15编辑过]