Fermeture de l'application

Signaler
Messages postés
6
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
14 février 2012
-
Messages postés
6
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
14 février 2012
-
Bonjour à tous


J'ai un petit souci avec ce bout de code :

this.Close();
Application.Exit();


Il fonctionne très bien sur une autre appli, mais là, il fait rien. J'ai beau le mettre dans try/catch, aucun message. Et si je met un break point, je vois qu'il "exécute" ces deux instructions, mais rien ne se passe : l'application reste ouverte.


Quelqu'un sait ce qui se passe ?

7 réponses

Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Bonjour,

Comme cela c'est difficile à dire. Tu n'aurais pas des tâches en route?

louis
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Bonjour

Deux questions :
- As-tu lancé des threads dans ton programme
- As-tu abonné une méthode à l'événement FormClosing ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
6
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
14 février 2012

@louis14 : aucune. J’appelle différentes fonctions, mais le code de la fermeture est après les appels.

@krimog :
- je lance des threads, mais bien plus tard. le code ci dessus est appelé au début du programme (système de mise à jour : si il détecte une maj, il la télécharge, la lance et se coupe. le téléchargement et le lancement fonctionnent bien, eux)
- Non, pas de méthode FormClosing. J'avais essayé sur un autre projet, mais ce n'était pas concluant, donc je ne l'ai pas mis.
Messages postés
6
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
14 février 2012

Personne n'a d'idées ??
Messages postés
616
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
6
Salut,

Tiens j'ai trouvé ça sur la MSDN :

"Les événements Form.Closed et Form.Closing ne sont pas déclenchés lorsque la méthode Application.Exit est appelée pour quitter l'application. Si l'un de ces événements comporte du code de validation devant être exécuté, vous devez appeler la méthode Form.Close pour chaque formulaire ouvert individuellement avant d'appeler la méthode Exit."

@pluche

SD

[b]"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".

P.Coehlo (Maktub 2004)/b
Messages postés
616
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
6
J'ai aussi trouvé ça sur ce site une astuce de nerixx27 si je ne me trompe pas.

Petite astuce tout de même pour fermer une appli récalcitrante :

Process Proc_EnCours = Process.GetCurrentProcess ();
Process[] Les_Proc = Process.GetProcesses ();
foreach (Process Processus in Les_Proc )
{
if (Processus.ProcessName.ToLower () == "appli" )
{
Processus.Kill ();
}
}



où "appli" est le nom de ton programme

avec un p'tit "using System.Diagnostics;" en haut de ton code


[b]"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".

P.Coehlo (Maktub 2004)/b
Messages postés
6
Date d'inscription
mardi 18 janvier 2011
Statut
Membre
Dernière intervention
14 février 2012

Ce qui est bizarre, c'est que je n'ai aucun Form.Closed ou Form.Closing .
Sinon, faut voir ce que ca donne, avec les processus, merci pour cette piste ;)