Foxtable(狐表)用户栏目专家坐堂 → [求助] 自定义登录窗口出错(已解决)


  共有1637人关注过本帖树形打印复制链接

主题:[求助] 自定义登录窗口出错(已解决)

帅哥哟,离线,有人找我吗?
yyzlxc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助] 自定义登录窗口出错(已解决)  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2017/8/8 13:48:00 [只看该作者]



[此贴子已经被作者于2017/8/8 13:50:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2017/8/8 14:03:00 [只看该作者]

试试改成           e.Form.Controls("TextBox3").Text = ""

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 14:12:00 [只看该作者]

看3楼

 

e.Form.Controls("TextBox1").Text = Nothing

 

改成

 

e.Form.Controls("TextBox1").Text = ""


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2017/8/8 14:59:00 [只看该作者]

谢谢逛逛和有点甜老师,将Nothing都改成"",问题解决。再次感谢两位老师的指教!!

 回到顶部