Windows 窗体 - 如何获取 MDIparent 窗体

本文关键字:窗体 获取 MDIparent 何获取 Windows | 更新日期: 2023-09-27 17:56:33

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

NewForm newForm = getMyForm(this, arg2, arg3)

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

Windows 窗体 - 如何获取 MDIparent 窗体

您可以使用

Form.MdiParent 属性,该属性将为您提供当前表单的MDI Parent

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
    //form found

你有没有试过

从您的MainForm

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

以哈比卜先生为例,请注意,MainFormmethod必须是public

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
{
  frm.Methods(this, arg2, arg3)
}