2010-09-14 9 views
0

J'ai un formulaire MDI et plusieurs nombres de formulaires enfants dans ce MDI. En cliquant sur un bouton dans le menu, un formulaire s'ouvre. Si un autre formulaire est déjà ouvert, cela devrait être minimisé et le nouveau devrait s'ouvrir. Le problème est même si je donne frm.WindowState = WindowState.Minimized, le formulaire n'est pas minimisé. Le code que je l'ai écrit est donné ci-dessous,MDI Le formulaire enfant n'est pas minimisé

   frmReaserchData childForm = null; 
       foreach (Form f in this.MdiChildren) 
       { 
        if (f is frmReaserchData) 
        { 
         // found it 
         childForm = (frmReaserchData)f; 
         break; 
        } 
        else 
        {             
         f.WindowState = FormWindowState.Minimized;       
        } 

       } 

       if (childForm != null) 
       {      
        childForm.Focus(); 
       } 
       else 
       { 
        childForm = new frmReaserchData(); 
        childForm.MdiParent = this; 
        childForm.Show();      
       } 

Répondre

0

Lorsqu'un élément du menu est cliqué, ce code minimise le formulaire actuellement actif et affiche le nouveau formulaire.

  frmReaserchData childForm = null; 
      foreach (Form f in this.MdiChildren) 
      { 
       if (f is frmReaserchData) 
       { 
        // found it 
        childForm = (frmReaserchData)f; 
        break; 
       } 
       else 
       {             
        f.WindowState = FormWindowState.Minimized; 
        f.Show();       
       } 

      } 

      if (childForm != null) 
      {      
       childForm.Focus(); 
      } 
      else 
      { 
       childForm = new frmReaserchData(); 
       childForm.MdiParent = this; 
       childForm.Show();      
      } 
3

vous réglez la WindowState de frmCS au lieu de f (la variable locale dans votre boucle for). Est-ce que cela pourrait être le problème?

+0

J'ai donné f.WindowState = FormWindowState.Minimized; à l'intérieur de la boucle for. Ça n'a pas marché !!! – banupriya

+0

J'ai essayé de donner à f.WindowState = FormWindowState.Minimized; puis f.Show(); alors ça a marché !!! Le formulaire a été minimisé! – banupriya

Questions connexes