【问题标题】:MDI Parent form Panel Control adding child FormsMDI父窗体面板控件添加子窗体
【发布时间】:2012-09-15 05:42:09
【问题描述】:

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

  1. ChildForm1
  2. ChildForm2

Childform2childform1 打开。

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

如何解决这个问题?

【问题讨论】:

    标签: c# winforms mdiparent


    【解决方案1】:

    您首先通过将 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();
        } 
    

    【讨论】:

    • 感谢回复....问题是如何将childform2添加到mdi表单面板控件.... Shahid Iqbal ....
    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多