Quitter une application winforms C #
J'ai une application que l'importation des données à partir d'Excel. Cependant, lorsque je lance l'application winforms et je intrupt l'application, à l'aide de System.Windows.Forms.Application.Exit();
je vois encore le "MyAppName".vshost32.exe cours d'exécution dans le gestionnaire des tâches.
Lorsque je quitte l'application en mode debug, le formulaire se ferme, mais la VS IDE n'est pas "arrêté".
Comment s'assurer de l'application se termine correctement.
source d'informationauteur Troy | 2011-12-14
Vous devez vous connecter pour publier un commentaire.
Le processus n'est pas arrêter parce qu'il a encore premier plan threads en cours d'exécution.
Si vous créer des threads dans votre application, vous devez marque comme arrière-plan fils ou assurez-vous qu'ils se terminent lorsque vous souhaitez que l'application à quitter.
Votre appel à
Application.Exit()
fonctionne bien. LeMyAppName.vshost32.exe
exécutable est un hôte à des fins de débogage. Il s'exécute alors que vous avez un projet ouvert dans Visual Studio, peu importe si il est un membre actif de la session de débogage.Mise à jour: Ok, j'ai mal compris. Ce qui précède est vrai, mais vous êtes probablement à avoir des problèmes avec hung threads en arrière-plan. Vous devez mettre fin à votre fils pour le faire fermer correctement. Asher réponse du couvre ce. Si vous êtes juste essayer de faire un super hacky quick-and-dirty tuer, vous pouvez utiliser la commande suivante (si je ne prends aucune responsabilité pour les effets secondaires, car il est extrêmement hacky):
System.Diagnostics.Process.GetCurrentProcess().Kill();
Avez-vous essayé le plus brutal
Environment.Exit()
fonction?Application.Exit()
envoie juste un message disant à l'arrêt; si le message n'est jamais traitée (pour quelque raison que ce soit), l'application va continuer à fonctionner indéfiniment.De la La documentation MSDN
Application.Exit()
:J'ai eu un problème similaire causée par un outil tiers qui ne m'a pas permis de définir les threads comme arrière-plan. Polynôme eu la bonne idée, mais ensuite, la syntaxe ressemble à ceci: