Problème de messageBox

Résolu
plop3000 Messages postés 135 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 7 avril 2012 - 1 août 2007 à 14:48
plop3000 Messages postés 135 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 7 avril 2012 - 1 août 2007 à 15:14
Bonjour,

J'ai un souci avec une messageBox. J'ai une frame qui possède un bouton quitter (la croix rouge en haut à droite en fait). Lorsque l'utilisateur clique sur cette croix (pour quitter), j'affiche une messageBox qui demande à l'utilisateur s'il veut vraiment quitter sans sauvegarder. L'utilisateur a alors le choix :
Soit il clique "OK" et ça quitter => ça c'est bon ça marche
Soit il clique sur "Annuler" et là je voudrais alors que la frame ne se ferme pas, mais je ne vois pas comment le coder.
J'ai mis ma messageBox sur l'évenement "WindowClosing" et mon code est le suivant :

private void formParametre_FormClosing(object sender, FormClosingEventArgs e)
        {
            //Si on clique sur "Quitter" (la croix rouge en fait), ça lance un
            //message box qui demande à l'utilisateur de confirmer qu'il
            //souhaite quitter sans enregistrer les éventuelles modofications
            MessageBox.Show("Quitter sans sauver les changements ?", "Quitter", MessageBoxButtons.OKCancel);
            if (MessageBox.Show("Quitter sans sauver les changements ?", "Quitter", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            {
                   //NE PAS FERMER LA FENETRE
            }
        }

Comment faire pour empecher la fenetre de se fermer ,

Merci d'avance

3 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
1 août 2007 à 14:54
il te suffit de rajouter :

e.Cancel = true;

pour annuler la fermeture.

<hr size="2" width="100%" />Working as designed
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
1 août 2007 à 14:55
Et pour éviter que ta message box apparaissent si l'application est fermée par le système et non par l'utilisateur (par exemple lorsque tu éteint le PC sans fermer l'application) tu peux connaitre la raison de la fermeture en testant e.CloseReason.

<hr size="2" width="100%" />Working as designed
3
plop3000 Messages postés 135 Date d'inscription mercredi 23 mai 2007 Statut Membre Dernière intervention 7 avril 2012 1
1 août 2007 à 15:14
Merci Nikoui, ça marche très bien
0
Rejoignez-nous