fermeture de form avec validation
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:
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:
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