this.MdiParent=parentForm;
/////////////////////////////////

解决方案 »

  1.   

    窗体都是由类的实力,我的方法是这样的,class Form1{static bool form1show=false;}Form1 form1 =new Form1();
    form1.show();
    Form1.form1show=true;然后就是
    protected override void WndProc(ref Message m) 
      { 
      const int WM_SYSCOMMAND = 0x0112; 
      const int SC_CLOSE = 0xF060; 


      if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE) 
      { 
      FORM1.form1show=FAlse;   } 
      base.WndProc(ref m); 
      } 不知道大家是怎么做的呢
      

  2.   

    基本是又类的static 变量去控制
      

  3.   

    private void menuItem2_Click(object sender, System.EventArgs e)
    {

                                Form1 bbb = new Form1 ();
    Form2 aaa = new Form2 ();
                
    aaa.MdiParent=bbb;
             aaa.Show ();
    }这是通过主窗体Form1菜单打开一个子窗体Form2为什么不对呢谢谢各位帮助一下!
      

  4.   

    假设当前的窗体是MDI窗体,再添加一个新的窗体Form2
    private void menuItemForm2_Click(object sender, System.EventArgs e)
    {
    if(FormIsOpen("Form2"))return;
    Form2 frm=new Form2();
    frm.MdiParent =this;
    frm.Show();
    }
    private bool FormIsOpen(string sFormName)
    {
    bool bFormIsOpen=false;
    for(int k=0;k<this.MdiChildren.Length ;k++ )
    {
    if (this.MdiChildren[k].Name.ToString()==sFormName)
    {
    this.MdiChildren[k].Activate();
    bFormIsOpen=true;
    break;
    }
    }
    if(bFormIsOpen)
    {
    this.ActiveMdiChild.WindowState =System.Windows.Forms.FormWindowState.Normal ;  
    this.ActiveMdiChild.Activate();
    return  bFormIsOpen;
    }
    else return false;}