管理MDI窗口,解决繁琐的打开窗口的问题

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值