以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口Enter事件出现错误,找不到原因! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141992) |
-- 作者:hc-mall -- 发布时间:2019/10/16 0:03:00 -- 窗口Enter事件出现错误,找不到原因! Dim yisheng As WinForm.CheckBox = e.Form.Controls("Chkyishen") Dim nm As String = e.Form.ActiveControl.Name If e.Form.ActiveControl.Focused = True Then Select Case nm Case "Textchanpin","Textdanjia","Textguyuan","Textkehu","Textshuliang","Dateriqi" If yisheng.Checked = True Then If user.Group <> "经理" Then e.Form.Controls(nm).ReadOnly = BooleanEnum.True Else e.Form.Controls(nm).ReadOnly = BooleanEnum.False End If Else e.Form.Controls(nm).ReadOnly = BooleanEnum.False End If Case "Textjine" e.Form.Controls(nm).ReadOnly = BooleanEnum.True End Select End If ------------------------- 窗口Enter事件的代码如上,重新切换用户以后,第一次点窗口空白处就出现错误提示了,个人能力有限找不到原因!出现错误提示框以后程序不崩溃,后面再点就正常了! 错误提示如下:Object variable or With block variable not set. |
-- 作者:hc-mall -- 发布时间:2019/10/16 2:23:00 -- 原因找到了,Dim nm As String = e.Form.ActiveControl.Name,窗口这个控件应该是没有name属性的!这个应该是个bug。我做了个判断,If e.Form.ActiveControl IsNot Nothing Then就好了! |
-- 作者:有点蓝 -- 发布时间:2019/10/16 8:37:00 -- 不是没有name属性,而是没有处于激活状态的控件 |