RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
管理MDI窗口,解决繁琐的打开窗口的问题
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:35
  • 来源:未知

public void showMdiChild(System.Windows.Forms.Form MdiChildForm)  {   int i;   Form[] frmForms = this.MdiChildren;   bool btrue=false;      Cursor.Current=Cursors.WaitCursor;    for (i=0; i<frmForms.Length; i++)   {    //窗体类实例转换成字符串时相同,说明是同一个实例    if (frmForms[i].ToString()==MdiChildForm.ToString())    {     MdiChildForm.Dispose(); //释放刚创建的子窗体的实例资源     this.MdiChildren[i].Activate(); //将已经创建的实例窗体激活     this.MdiChildren[i].BringToFront ();     MdiChildForm.TopMost =true;                 btrue=true;    }       }   //   this.Controls    //如果i等于窗体数组的长度,   //说明上面的循环完成后没有找到窗体实例与传过来的窗体实例相同,   //说明新创建的窗体没有被创建过,那么就把它显示出来   //   frm.TopLevel=false;      if(btrue==false)   {    MdiChildForm.MdiParent = this; //指定窗体的MDI父窗体    MdiChildForm.Show();        if(MdiChildForm.MaximizeBox ==false)    {     MdiChildForm.WindowState =  FormWindowState.Normal ;     MdiChildForm.StartPosition =FormStartPosition.CenterScreen;    }    else     MdiChildForm.WindowState =  FormWindowState.Maximized  ;     MdiChildForm.BringToFront ();    MdiChildForm.TopMost  =true;   }   Cursor.Current =Cursors.Default ;  }

调用范例

frmSPZJ fm=new frmSPZJ();   showMdiChild(fm);