- 作者: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);