今天把以前解决的MDI子窗体,多次打开同一窗体代码共享一下.逻辑不够完善但是解决了问题

private void ultraExplorerBar1_ItemClick(object sender, Infragistics.Win.UltraWinExplorerBar.ItemEventArgs e)
  {
   int l=0;//激活窗体中是否有当前要打开的窗体的标志
   switch(e.Item.Key)
   {
    case "Entry Infromation":
     if(this.ActiveMdiChild==null)//如果没有激活窗体
     {
      lrqmkc kc =new lrqmkc();//显示
      kc.MdiParent=this;
     
      kc.Show();
     }
     else //如果有激活窗体
     {
      int i=0;
      for(i=1;i<=this.MdiChildren.Length;i++)//看有没有要打开的窗体
      {
       if(this.MdiChildren[i-1].Name=="lrqmkc" )//是否有当前要打开的窗体
       {
        l=1;
        this.MdiChildren[i-1].Activate();//如果有则激活

       }
      }
      if(l==0)
      {
       lrqmkc kc =new lrqmkc();//显示
       kc.MdiParent=this;
     
       kc.Show();

      }
//      else
//      {
//       this.ActivateMdiChild(kc);
//      }
      l=0;//清空L以便其他窗体调用
     }
     //kc.Tag =1;
     //MessageBox.Show(this.MdiChildren[i].Name );
     break;
    case "BOM List":
     if(this.ActiveMdiChild==null)
     {
      BomList bom=new BomList();
      bom.MdiParent=this;
      
      bom.Show();
     
     }
     else //如果有激活窗体
     {
      int i=0;
      for(i=1;i<=this.MdiChildren.Length;i++)//看有没有要打开的窗体
      {
       if(this.MdiChildren[i-1].Name=="BomList" )//是否有当前要打开的窗体
        
       {
        l=1;this.MdiChildren[i-1].Activate();//如果有则激活
        
       }
      }
      if(l==0)
      {
       BomList bom=new BomList();
       bom.MdiParent=this;
      
       bom.Show();

      }
      l=0;
     }
     break;
    case "Sell List":
     if(this.ActiveMdiChild==null)
     {
      Sell sell=new Sell();
      sell.MdiParent=this;
      sell.Show();
      
     }
     else //如果有激活窗体
     {int i=0;
      for(i=1;i<=this.MdiChildren.Length;i++)//看有没有要打开的窗体
      {
       if(this.MdiChildren[i-1].Name=="Sell" )//是否有当前要打开的窗体
       {
        l=1;this.MdiChildren[i-1].Activate();//如果有则激活
       }
      }
      if(l==0)
      {
       Sell sell=new Sell();
       sell.MdiParent=this;
       sell.Show();

      }
      
      l=0;
     }
      break;
    case "Materiel Use":
     if(this.ActiveMdiChild==null)
     {
      物料耗用 Mu=new 物料耗用();
      Mu.MdiParent=this;
      Mu.Show();
      
     }
     else //如果有激活窗体
     {int i=0;
      for(i=1;i<=this.MdiChildren.Length;i++)//看有没有要打开的窗体
      {
       if(this.MdiChildren[i-1].Name=="物料耗用" )//是否有当前要打开的窗体
       {
        l=1;this.MdiChildren[i-1].Activate();//如果有则激活
       }
      }
      if(l==0)
      {
       物料耗用 Mu=new 物料耗用();
       Mu.MdiParent=this;
       Mu.Show();

      }
      l=0;
     }
     break;
    case "Cost View":
     if(this.ActiveMdiChild==null)
     {
      Cost cost=new Cost();
      cost.MdiParent=this;
      cost.Show();
     }
     else //如果有激活窗体
     {int i=0;
      for(i=1;i<=this.MdiChildren.Length;i++)//看有没有要打开的窗体
      {
       if(this.MdiChildren[i-1].Name=="Cost" )//是否有当前要打开的窗体
       {
        l=1;this.MdiChildren[i-1].Activate();//如果有则激活
       }
      }
      if(l==0)
      {
       Cost cost=new Cost();
       cost.MdiParent=this;
       cost.Show();

      }
      l=0;
     }
     break;

   }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值