2

我有一个MDIform应用程序,其中一个名为的表单MainForm设置为父级。每次我打开一个新表单时,我都会关闭其他表单,并使用自定义方法进行操作,该方法获取 3 个参数,其中一个object代表MDIparent. 大多数情况下,我从我MainForm的表单中打开表单,MDIparent但我有这种情况,我必须从另一个子表单中打开一个子表单。假设我调用我的方法来打开一个新表单,例如:

NewForm newForm = getMyForm(this, arg2, arg3)

当我在MainForm其中也是父母时,这很容易。但是如何调用我的方法或MDIparent当我从其他子窗体调用时如何传递我的对象?

4

2 回答 2

5

您可以使用Form.MdiParent属性,该属性将为您MDI Parent提供当前表单。

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
    //form found
于 2013-01-29T12:32:50.073 回答
1

你试过像

从你的MainForm

 var f = new NewForm() { MdiParent = this};
 f.Show();

作为 Habib 先生的例子,请注意methodfrom the MainFormis 必须是 a public

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
{
  frm.Methods(this, arg2, arg3)
}
于 2013-01-29T12:34:38.547 回答