1

我有一个主窗体和几个用户控件。现在,我正在使用活动表单通过另一个用户控件访问其中一个用户控件,然后引用该用户控件。但是,如果焦点在其他窗口上,这将变得很困难。有没有办法在不实例化用户控件的新实例或使用活动表单的情况下获取用户控件的实例?

4

2 回答 2

2

您可以通过Application.OpenForms属性访问托管用户控件的表单,稍后您可以从表单中获取用户控件列表,例如:

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

yourForm您的表单的 ID在哪里,并且YourUserControl是您的用户控件的类名

于 2012-12-06T07:41:12.737 回答
0

也许您需要做的实际上是将一个表单上的事件公开并向另一个表单添加处理程序,以便在第一个表单触发其事件时触发它。这种方式有一种正式的方式供一个人参考或与另一个人关联。

于 2012-12-06T07:42:42.703 回答