无法从WinForms Application中的其他类访问UserControl对象

时间:2016-01-20 19:18:30

标签: winforms .net-4.5

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

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

1 个答案:

答案 0 :(得分:0)

显然它正在后端设置用户控件。我通过使用IntelliSense从主窗体中找到它的名称找到了它。

因此,在我的GlobalFunctions.ResetAllForms()方法中,我发现它为frmMain.UserControlA1.Textbox1。那么我就能像这样设置它; frmMain.UserControlA1.Textbox1.Enabled = True

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