2012-12-06 35 views
1

我有一个主窗体和几个用户控件。现在我正在通过另一个使用活动窗体访问其中一个用户控件,然后引用用户控件。 但是,如果重点放在其他窗口上,这会很困难。 有没有办法获得用户控件的实例,而无需实例化用​​户控件的新实例或使用活动表单?发送用户控件作为参考?

回答

2

您可以访问其托管用户控件的形式,通过Application.OpenForms财产,以后你可以从表单中得到你的用户控件的列表,如:

if ((Application.OpenForms["yourForm"] as Form1) != null) 
{ 
    var YourUserControlList = 
         (Application.OpenForms["yourForm"] as Form1) 
            .Controls.OfType<YourUserControl>() 
            .ToList(); 
} 

其中yourForm是表单的ID,和YourUserControl是你的用户控件的类名称

+0

很漂亮!谢谢:) – varun257

+0

@varun,欢迎您:) – Habib

0

也许你需要做的是实际上在一个窗体上公开事件并向另一个窗体添加一个处理程序,以便在第一个窗体触发它的事件时触发它。这样一来,人们就有了一种正式的方式来引用或与另一方联系。