bonjour a tous, voila j'ai un form mdi parent, un menu avec 2 boutons (pour faire court, en fait y en a plus) et je voudrais que si j'ouvre un form mdi enfant A ou B alors qu'il y en a deja un d'ouvert, une boite de dialogue s'affiche pour choisir si oui ou non je veux fermer le form mdi enfant 1(deja ouvert) pour passer au mdi enfant 2 ou bien de rester sur le form 1 ...

je sais pas si c'est clair, mais pour abreger ma prof d'info m'a donné un code qui compte le nombre de form ouvert et qui ferme le form en trop, c'est a dire que le form principal reste, le form 1 se ferme et le form 2 prend la place du form 1 ...

je vous met le code ici au cas où :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private void fermerOption()
        {
            C = new CancelEventArgs();
            if (Application.OpenForms.Count > 1)
            {
                // propriétés pour la messagebox-----------------------------------
                string message = "La fenetre va se fermer, continuer ?";
                string caption = "Fermeture auto  ";
                MessageBoxButtons buttons = MessageBoxButtons.YesNo;
                DialogResult result;
                //-----------------------------------------------------------------
 
                // Affiche la messagebox-------------------------------------------
 
                result = MessageBox.Show(this, message, caption, buttons,
                         MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                //-----------------------------------------------------------------
 
                if (result == DialogResult.Yes)
                {
                    Application.OpenForms[1].Close(); // fermeture du formulaire deja affiché et ouverture du formulaire selectionné
                }
                else
                {
                    C.Cancel = true; // a modifier car ne marche pas
                }
            }
        }
attention je pécise que ce code a été modifié par moi et qu'il reste a modifier ...

le code original de ma prof est celui ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
private void fermerOption()
        {
 
            while (Application.OpenForms.Count > 1)
            Application.OpenForms[1].Close();
        }
merci d'avance pour votre aide et a bientot