今天把以前解決的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;

   }
  }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章