2009-03-08 10 views
0

Si je ferme une fenêtre, je veux savoir par quel moyen la fenêtre se ferme (c'est-à-dire par un clic de souris dans l'icône de fermeture ou alt + f4. Y a-t-il un événement pour obtenir cette information?fermer une fenêtre

Répondre

2

Je ne crois pas qu'il y ait des événements spécifiquement pour vous donner cette information, non. Le FormClosingEvent fournit un FormClosingEventArgs avec un CloseReason, mais la raison ne distingue pas entre l'utilisation d'une souris ou du clavier. Il distingue seulement un événement "close utilisateur" et des choses comme "le propriétaire du formulaire fermé" ou "l'application a été fermée à partir du gestionnaire de tâches".

1

Quelle que soit la boîte à outils que vous utilisez, il existe toujours des événements pour les clics sur le bouton de fermeture, les événements clavier pour Alt + F4, les événements de menu pour les menus, etc. application, modifiez les gestionnaires d'événements pour définir une variable à leur valeur correspondante et vérifiez cette variable dans vos procédures de fermeture d'application.

2

Que vous puissiez ou non piéger des messages WM _...- spécifiques pour les distinguer, ne le faites pas! L'un des prin- cipes fondamentaux de l'utilisabilité n'est pas la suprise: répondre aux attentes de l'utilisateur. Faites ce que font toutes les autres applications, surtout en ce qui concerne les bases absolues.

Questions connexes