ApplicationExit redefinitin

Résolu
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 17 juin 2006 à 10:46
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 17 juin 2006 à 11:10
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

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

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

<hr size="2" /> VC# forever
=13319
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 juin 2006 à 11:04
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#
*/
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 juin 2006 à 11:02
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"
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 juin 2006 à 11:05
Ca fesait longtemps que je n'avais pas fait le coup du refresh

/*
coq
MVP Visual C#
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
17 juin 2006 à 11:08
lol

<hr size= "2" /> VC# forever
=13319
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
17 juin 2006 à 11:10
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"
0
Rejoignez-nous