以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 自定义登录窗口出错(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104910) |
-- 作者:yyzlxc -- 发布时间:2017/8/8 13:18:00 -- [求助] 自定义登录窗口出错(已解决) 输入正确的用户名和密码,运行正常。 当输入错误用户名,提示“对应的用户不存在”,再输入正确的用户名,姓名和部门均正确填充,但会弹出“未将对象引用设置到对象的实例”的错误提示对话框。关闭对话框,输入密码,可以打开应用程序。 问题是这个错误对话框是哪里引起的,如何去除,请各位老师指教,谢谢!! .NET Framework 版本:2.0.50727.8794 Foxtable 版本:2017.6.12.1 错误所在事件:窗口,用户登录,TextBox3,TextChanged 详细错误信息: 未将对象引用设置到对象的实例。 AfterLoad事件 \'用户登录窗口置顶 e.Form.BaseForm.TopMost = True e.Form.Controls("TextBox3").Select \'回车键确定 e.Form.AcceptButton = "Button1" TextBox3,TextChanged事件 If Forms("用户登录").Controls("TextBox3").Text.Length = 4 Then Dim id As String = Forms("用户登录").Controls("TextBox3").Text Dim pr As DataRow = DataTables("用户表").Find("用户 = \'"& id &"\'") If pr IsNot Nothing Then Forms("用户登录").Controls("TextBox1").Text = pr("姓名") Forms("用户登录").Controls("TextBox2").Text = pr("部门") e.Form.Controls("TextBox4").Select Else e.Form.Controls("TextBox1").Text = Nothing e.Form.Controls("TextBox2").Text = Nothing e.Form.Controls("TextBox3").Text = Nothing e.Form.Controls("TextBox3").Select Messagebox.show("对应的用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If End If [此贴子已经被作者于2017/8/8 14:59:43编辑过]
|
-- 作者:逛逛 -- 发布时间:2017/8/8 13:48:00 -- [此贴子已经被作者于2017/8/8 13:50:13编辑过]
|
-- 作者:逛逛 -- 发布时间:2017/8/8 14:03:00 -- 试试改成 e.Form.Controls("TextBox3").Text = "" |
-- 作者:有点甜 -- 发布时间:2017/8/8 14:12:00 -- 看3楼
e.Form.Controls("TextBox1").Text = Nothing
改成
e.Form.Controls("TextBox1").Text = "" |
-- 作者:有点甜 -- 发布时间:2017/8/8 14:13:00 -- 或者
If Forms("用户登录").Controls("TextBox3").Text.Length = 4 Then
改成
If Forms("用户登录").Controls("TextBox3").Text > "" AndAlso Forms("用户登录").Controls("TextBox3").Text.Length = 4 Then |
-- 作者:yyzlxc -- 发布时间:2017/8/8 14:59:00 -- 谢谢逛逛和有点甜老师,将Nothing都改成"",问题解决。再次感谢两位老师的指教!! |