有3个窗体form1在panel1中,form2在panel2中,form3 在panel3中 (在panel2右边),其中form1的按钮控制 form2和form3的加载 ,form2中的按钮控制form3的加载panel1,panel2和panel3同属主窗体了,现在是panel2中的按钮如何控制panel3中窗体的变化了panel1中加载form2 和form3的代码
form2  frmSchedule = new form2();
                frmSchedule.MdiParent = this;
                panel2.Controls.Clear();
                panel2.Controls.Add(frmSchedule);
                frmSchedule.Dock = DockStyle.Fill;
                frmSchedule.Show(); 
 现在是 panel2 不知道怎么加载 panel3中的窗体,怎么找到父级的 panel1,折腾了1晚上实在搞不定啊,望哪位能帮帮小弟啊

解决方案 »

  1.   

    form2中的按钮事件代码
    Panel panel3 = this.Parent.FindForm().Controls["panel3"]; //找父级的Panel3
    form3 frm=new form3();
    //frm.MdiParent = this; //这句要注销
    panel3.Controls.Clear();
    panel3.Controls.Add(frm);
    frm.Dock = DockStyle.Fill;
    frm.Show();
    //Panel panel1 = this.Parent.FindForm().Controls["panel1"]; //找父级的Panel1
      

  2.   

    出错,不是报MDI 容器窗体必须位于顶层就是报窗体不能既是 MDI 子级,又是 MDI 父级 的错误 
      

  3.   

    把三个窗体都继承Panel即可添加。