如何找到表单已加载或UserControl c#

时间:2010-10-26 16:12:55

标签: c# winforms

我正在使用winform应用程序c#。在应用程序中,我们使用了许多UserControls和Forms。

我有一个父表单,我将UserControl用作MainDashBoard。但是对于使用Forms的其他业务需求。在userControl上有一个名为LoadProperties的按钮,它将加载另一个显示某个对象的某些属性的表单。

我想知道的是,我如何才能发现当前活动的控件是UserControl或Form。因为当我按下按钮并说

Form1 form = new Form1();
form.MDIParent= this;
form.show();

它正在加载表单,但是this.ActiveControl给了我按钮作为活动控件而不是表单。

我想获取当前加载的表单,我该怎么做。

任何人都可以帮助我......在这里。

此致 Shax。

3 个答案:

答案 0 :(得分:1)

每个表单都有一个ActiveControl,该控件将在激活表单时获得焦点。要获取活动表单,您应该使用静态Form.ActiveForm属性。

答案 1 :(得分:0)

抱歉,我不太明白。

要找出哪个MDI孩子有效,请使用:

Form activeChild = this.ActiveMdiChild;

如果您需要检查对象的对象类型,您可以使用:

if([variable] is Form)
{
}

if([variable] is Button)
{
}

答案 2 :(得分:0)

只需保留对所有已打开表单的引用。