J'essaye de déterminer si mon application est fermée en cliquant sur le "X" sur le formulaire de fenêtres, ou s'ils ont cliqué sur un bouton "Exit" que j'ai dessus. En ce moment j'utilise StackTrace.GetFrame (someIndex) pour déterminer comment, mais je suis à la recherche d'un moyen plus définitif, car il semble que ces commandes soient garanties. Y a-t-il une meilleure façon de faire la distinction? Ceci est un .NET 3.5 WinForm, et Im écrit en C#.Déterminez comment une application est fermée
Répondre
Utilisez un événement différent pour gérer votre propre clic sur le bouton "Quitter". Dans votre propre gestionnaire d'événement "Exit", exécutez votre logique supplémentaire ou définissez une variable d'état, puis appelez la méthode de fermeture d'application normale.
Publiez quelques exemples de la façon dont vos événements sont câblés et je donne un exemple plus précis. En général, il ressemblerait à quelque chose comme ceci:
private void btnMyExit_Click(object sender, EventArgs e)
{
// TODO: add any special logic you want to execute when they click your own "Exit" button
doCustomExitWork();
}
public static void OnAppExit(object sender, EventArgs e)
{
doCustomExitWork();
}
private void doCustomExitWork()
{
// TODO: add any logic you want to always do when exiting the app, omit this whole method if you don't need it
}
Utilisez l'événement FormClosing et interroger les FormClosingEventArgs pour la valeur CloseReason enum.
malheureusement en cliquant sur le X dans un coin formes, et en cliquant sur un bouton qui sort de l'application les deux ont la même énumération –
@Mike_G - n'a pas lu votre question de près. Maintenant, je suis curieux de savoir quelle différence cela fait? – jac
Vous voulez dire pourquoi nous voulons savoir comment ils le ferment? Nous essayons d'émuler un "minimiser sur X clic" comme celui de MSN Messenger. –
- 1. Une application Cocoa se ferme-t-elle lorsque la fenêtre principale est fermée? Comment faire pour fermer une application Cocoa lorsque la fenêtre principale est fermée?
- 2. C# & Win32 notifier quand une fenêtre séparée est fermée/fermée
- 3. Comment savoir où écrit une application à source fermée?
- 4. Déterminez quelle application empêche l'arrêt
- 5. .net Déterminez au moment de l'exécution si mon application est un exe ou une application Web
- 6. Mon application perd le focus lorsqu'une fenêtre est fermée
- 7. Comment déterminez-vous si une connexion Internet est disponible pour votre application WinForms?
- 8. Comment déterminez-vous si une chaîne est un palindrome?
- 9. Comment vérifier si une connexion MySQL est fermée en Python?
- 10. Déterminez si une URL Google est une recherche rapide
- 11. Déterminez si DataColumn est numérique
- 12. "La session est fermée!" - NHibernate
- 13. Comment déterminez-vous une SoapAction valide?
- 14. Vérifiez si la connexion est fermée!
- 15. Boucler sur une plage fermée
- 16. Déterminez si une coordonnée est dans le rayon d'une autre
- 17. Déterminez si une fenêtre donnée est en cours de déplacement
- 18. déterminez par programme si une évaluation d'une fonction est affectée?
- 19. Déterminez quand une case est décochée et effacez un champ
- 20. Événement déclencheur sur une page lorsqu'une fenêtre contextuelle est fermée
- 21. Comment puis-je porter une application à source fermée basée sur OS X sur Linux?
- 22. Comment déterminer si une application est une application Web
- 23. Déterminez si le script/serveur est démarré
- 24. Comment déterminez-vous quel fuseau horaire est à 12h maintenant?
- 25. Comment détecter quand la fenêtre d'action est fermée?
- 26. Détecter une connexion prématurément fermée dans web.py
- 27. Comment détecter si une fenêtre est cachée (cmd-h) ou fermée (cmd-w) - Mac
- 28. Déterminez quand un son fort est joué en C#
- 29. quand est-ce que la connexion mysql_pconnect() est fermée
- 30. Déterminez si une connexion a été rompue
ya, différents événements est ce que je pensais, mais c'est le code laissé par un développeur plus senior et je prenais juste son code comme "la bonne façon" –