Foxtable(狐表)用户栏目专家坐堂 → [求助]遍历WinForm.Control,找不到名称为""的控件!


  共有4057人关注过本帖平板打印复制链接

主题:[求助]遍历WinForm.Control,找不到名称为""的控件!

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


加好友 发短信
等级:四尾狐 帖子:936 积分:7725 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]遍历WinForm.Control,找不到名称为""的控件!  发帖心情 Post By:2014/3/11 9:18:00 [只看该作者]

---------------------------
错误
---------------------------
自定义代码执行出错,错误信息:



System.NullReferenceException: 未设置对象变量或 With 块变量。

   在 Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)

   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateSet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean OptimisticSet, Boolean RValueBase, CallType CallType)

   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateSetComplex(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean OptimisticSet, Boolean RValueBase)

   在 UserCode.AFIELDCLOSE(Object[] Args)
---------------------------
确定   
---------------------------


自定义函数
Dim s As String

    For Each c As WinForm.Control In Forms(Args(0)).Controls
        For Each co As Col In Tables(Args(1)).Cols
            If co.AllowEdit = False Then
                If c.BindingField > "" AndAlso c.BindingField.Contains(Args(1) & "." & co.Name) Then
                    Forms(Args(0)).Controls(c.Name).Enabled = False
                End If
            End If
        Next
    Next
    s = DataTables("授权表").GetComboListString("列名或按钮","用户名 = '" & User.Name & "' And 类型 = '窗口' And 不可编辑 = True And 表名或窗口 = '" & Args(0) & "'")
s = “修改”

    If s IsNot Nothing Then
        For Each c As WinForm.Control In Forms(Args(0)).Controls
            If s.Contains(c.Name) Then
                Forms(Args(0)).Controls(c.Name).Enabled = False
            End If
        Next
    End If

错误应该在上段

是放在AfterLoad里执行的




[此贴子已经被作者于2014-3-11 9:19:35编辑过]

 回到顶部