0

我在 C# 中的桌面应用程序中工作。我有一个 MDI 父窗体,它具有用于在其中添加子窗体的面板控件。我有 2 个孩子的表格:

  1. ChildForm1
  2. ChildForm2

Childform2childform1.

从 MDI 表单我将 childform1 添加到面板控件,知道我也想将 childform2 添加到 mdi 表单面板控件。当我单击 childform1 上的按钮时,必须从 mdi 表单面板控件中删除 childform1,并将 childform2 添加到 mdi 表单面板控件中。

如何解决这个问题呢?

4

1 回答 1

0

您首先通过将 ChildForm1 的引用传递给 ChildForm2 从 ChildForm1 打开 ChildForm2

 ChildForm2 objChildForm2 = new ChildForm2(this);
 objChildForm2.MdiParent = this.MdiParent;
 objChildForm2.Show();

现在转到您的 ChildForm2 并添加参数化构造函数,同时创建 ChildForm1 的全局对象

ChildForm1 objChildForm1 = null;

 public ChildForm2(ChildForm1 obj)
    {
        InitializeComponent();

        objChildForm1 = obj; // Passing refrence of ChildForm1
        obj.Hide(); // this will hide the ChildForm1
    }   

现在,当您的 ChildForm2 打开时,将调用上述参数化构造函数,它将隐藏您的 ChildForm1。您也可以在 ChildForm2 关闭时重新打开您的 ChildForm1。为此编写以下代码。

    private void btnClose_Click(object sender, EventArgs e)
    {

        objChildForm1.Show();// you can access all public members of ChildForm1 by the Global   //object "objChildForm1"
        this.Close();
    } 
于 2012-09-15T06:15:04.913 回答