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ù :
attention je pécise que ce code a été modifié par moi et qu'il reste a modifier ...
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 } } }
le code original de ma prof est celui ci :
merci d'avance pour votre aide et a bientot
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(); }
Partager