CONFIRMER "QUITTER" À LA FERMETURE D'UNE APPLICATION WINFORMS/C#

Signaler
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Messages postés
3
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33702-confirmer-quitter-a-la-fermeture-d-une-application-winforms-c

Messages postés
3
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
18 juin 2009

Voilà ...à copier-coller dans le code du formulaire.

Pour quitter l'application:
protected override void OnClosing(CancelEventArgs e)
{

e.Cancel=(MessageBox.Show("Quitter?...","...",MessageBoxButtons.YesNo)==DialogResult.No);
if (!e.Cancel) Application.Exit();

}

OU

Pour quitter le formulaire:
protected override void OnClosing(CancelEventArgs e)
{

e.Cancel=(MessageBox.Show("Quitter?...","...",MessageBoxButtons.YesNo)==DialogResult.No);
if (!e.Cancel) this.Close();
}
Messages postés
1
Date d'inscription
mardi 13 juin 2006
Statut
Membre
Dernière intervention
12 mars 2007

c'est pas plus simple comme ça :

if(MessageBox.Show("Quitter l'application?",
"Message de confirmation" ,
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Close();

}
???
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Sinon, pour éviter de t'abonner à l'event Closing du Form au sein même de celui ci, préfère la surcharge de la méthode OnClosing :

protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = !AskConfirmQuitAppli();
base.OnClosing (e);
}
Messages postés
9
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
10 avril 2014

Merci pour ta source, tous comme les autres je trouve le code un peu trop long pour ce qu'il doit faire mais il fait ce qu'il doit faire, demander une confirmation avant de quitter.

Le but quand on programme est que le code source soit lisible/compréhensible pas une autre personne afin que celle-ci soit en mesure de pouvoir modifier la source à sa guise.

Il est bien d'utilisé les if(var == true) car il sont facile à lire mais il ne faut pas abuser car à la longue ca alourdis le code (pas les performances mais la lisibilité).

Ceci n'est pas une critique mais une opinion :)

Merci pour ta participation
Afficher les 13 commentaires