以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]登录窗口输入密码后按回车键自动登录的实现及解析 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109582) |
-- 作者:mositu -- 发布时间:2017/11/15 11:30:00 -- [原创]登录窗口输入密码后按回车键自动登录的实现及解析 登录窗口输入密码后按回车键自动登录,这是很常见的功能,在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编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/11/15 12:18:00 -- value 改成 text就行了
MessageBox.show(e.Form.Controls("TextBox1").text) |