我有一个主窗体和一些用户控件。现在我使用活动表单通过另一个用户控件访问其中一个用户控件,然后引用用户控件。 但如果重点放在其他窗口上,这就很困难。 有没有办法获取用户控件的实例而无需实例化用户控件的新实例或使用活动表单?
答案 0 :(得分:2)
您可以通过Application.OpenForms
属性访问托管您用户控件的表单,稍后您可以从以下表单中获取用户控件列表:
if ((Application.OpenForms["yourForm"] as Form1) != null)
{
var YourUserControlList =
(Application.OpenForms["yourForm"] as Form1)
.Controls.OfType<YourUserControl>()
.ToList();
}
其中yourForm
是您的表单的ID,YourUserControl
是您的用户控件的类名
答案 1 :(得分:0)
也许您需要做的是实际将一个表单上的事件公开并向另一个表单添加处理程序,以便在第一个表单触发其事件时触发它。通过这种方式,有一种正式的方式可以引用或与另一种相关联。