代码之家  ›  专栏  ›  技术社区  ›  CryptoJones

无法从WinForms应用程序中的其他类访问UserControl对象

  •  0
  • CryptoJones  · 技术社区  · 9 年前

    我开始用用户控件重新分组表单,并在现有应用程序上拆分容器。在我上课之前 GlobalFunctions 有一个名为 ResetAllForms() 。当我跑步时 GlobalFunctions.ResetAllForms() 从…起 frmMain 它会将表单中的所有属性设置为我想要的默认值(禁用/启用、可见或不可见)

    在我访问它们之前 formName.Textbox1.Enabled = True 但现在如果我尝试从用户控件名称调用它们 UserControlA.Textbox1.Enabled = True 它会给我一个错误:“引用非共享成员需要对象引用”。我知道这意味着实例化用户控件的副本,但我只是从工具箱中拖放,所以我不知道它的名称。

    1 回复  |  直到 9 年前
        1
  •  0
  •   CryptoJones    9 年前

    显然,它正在后端安装用户控件。我通过使用IntelliSense从主窗体中查找其名称来找到它。

    所以在我的内心 GlobalFunctions.ResetAllForms() 方法,我发现它是 frmMain.UserControlA1.Textbox1 然后我就可以这样设置了; frmMain.UserControlA1.Textbox1.Enabled = True

    显然,当它在后端实例化时,它只是在用户控件名称中添加一个。