ApplicationExit redefinitin

[Résolu]
Signaler
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
-
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
-
bonjour a tous ,
m'etant fraichement remis au c# un peu j'ai deja des probleme :p
je voudrais faire en sorte que quand on clique sur la petit croix l'aaplication de soit pas ferme mais juste caché
j'ai fait ce code dans ce sens :

Application.ApplicationExit +=
new
EventHandler(Application_Exit);

private
void Application_Exit(
object sender, System.
EventArgs e){

MessageBox.Show(
"on ferme pas on cache");

Hide();

}

le code affiche bien la messageBox mais ferme quand meme

comment pourrais je faire ?

merci

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

6 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
Salut,
Tu peux utiliser l'event FormClosing et mettre ceci dedans :

this.Hide();
e.Cancel =
true;

<hr size="2" /> VC# forever
=13319
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Salut,

Tu dois plutôt annuler la fermeture du formulaire (la fermeture du formulaire ayant servi à l'appel de Application.Run entrainant la fin de l'application).
Ca se fait via l'event Closing, et comme tu es dans le code du formulaire lui même, en overridant la méthode OnClosing :

private bool _mustExit = false;



protected override void OnClosing(CancelEventArgs e)
{
    base.OnClosing(e);



    // si la fermeture n'est pas demandée par une
    // de nos commandes (bouton, menu etc etc),
    // on l'annule et on masque le formulaire
    if (!this._mustExit)
    {
        e.Cancel = true;
        this.Hide();
    }
}



private void buttonExit_Click(object sender, EventArgs e)
{
    // on signale que la fermeture doit vraiment être effectué
    this._mustExit = true;



    // fermeture
    this.Close();
}









/*
coq
MVP Visual C#
*/
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
merci ca marche pas mal ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Ca fesait longtemps que je n'avais pas fait le coup du refresh

/*
coq
MVP Visual C#
*/
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
56
lol

<hr size= "2" /> VC# forever
=13319
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
merci a vous deux ^^
bonne matinée

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"