Comment afficher / surveiller les événements déclenchés par les contrôles d’une interface utilisateur

Je crée une interface graphique à l’aide de winforms en C #, tous les contrôles comportent de nombreux événements. J’aimerais savoir lequel de ces événements est renvoyé et quand. Une solution serait de placer des instructions de débogage sur chacun des gestionnaires d’événements, mais cela demanderait trop de travail. Existe-t-il un moyen de faire cela dans Visual Studio 2008/2010 ou existe-t-il des outils pouvant aider?

L’espion géré peut enregistrer tous les événements du contrôle choisi. Voir cet article où vous pouvez lire à propos de cet outil et le télécharger.

Runtime Flow (développé par moi) avec le filtre de surveillance “Module == System.Windows.Forms.dll && Function == On *” indiquera quels événements déclenchent tous les contrôles winforms.

Si vous ne craignez pas une surcharge d’informations, vous pouvez utiliser Spy ++ (\ Common7 \ Tools \ Spyxx.exe) pour afficher tous les messages Windows générés par l’application.

Certains messages de la fenêtre se traduisent plus ou moins directement en événements .net …

Vous pouvez écrire une classe de journalisation qui s’abonne à ces événements et l’écrire ainsi que l’horodatage dans un fichier journal.

Vous devez toujours écrire du code, mais il est indépendant de votre code de production et ne devrait en aucun cas l’affecter.