
If you aren't interested in ControlInspector under the covers, I suggest you stop reading now! Background There are options to stop tracking groups of events for all controls (for example, all mouse movement related events) to stop your event list getting over populated. This option will only stop tracking events for this individual control. You are able to uncheck particular events to handle either by focusing on the control and using the checked list box, or by right clicking on a particular event in the event view and selecting "stop tracking this event". The events are hooked before the control is displayed, so you will get all the initialisation events and if you close the hosting form, then you will see the events fired until the control dies.

For example, if you enable anchoring you then can see the resize events generated by resizing the hosting form.

When you have a particular control in focus, you are able to use the property editor to make on the fly changes to the control (useful to see what effect events are fired by this, and in what order).

You can look at individual controls by clicking on their individual tab. The first tab of the event viewer, "All Events" shows a complete list of events trapped by ControlInspector in the that they sequence. It has been written to display a red grid around your control so you can see where the control you are analysing ends. If the control is hosted in a form, you will see the ControlHostForm above. Note that you won't be able to construct some of these controls (eg ButtonBase) because although they derive from Control they are not directly usable. You can also use the File/Windows Forms option to display a list of available controls from the namespace. The entry you select will be loaded into memory and instantiated either by hosting it in a form, or if it is a form it will be constructed directly.
#MONITOR KEYUP EVENT WINDOWS#
You can use the File/Open option to open an arbitrary assembly (.net exe or dll file) you will then be presented with a list of Windows Forms Controls and Forms that are part of the assembly. When you first open Control Inspector you will be presented with a blank screen.
#MONITOR KEYUP EVENT DOWNLOAD#
If you just want to use ControlInspector to diagnose your own applications, or to understand Windows Form events better then just download the compiled version of the software, and don't worry about the source! Using Control Inspector This article is intended to accompany ContronInspector and give some insight into the techniques it uses. In summary Control Inspector is like a native. It will recurse through the controls collection and hook events on every sub control, and has special handling for context menus and main menus on forms to make sure that these don't get excluded.

When exactly does Load get fired in relation to other events on a complex control?ĬontrolInspector is designed to answer these and many other questions by hooking all events on an arbitrary windows form control in a user control or in a complete windows form. How often have you coded up a simple Windows Form application to clear up the difference between similar events? Where does TextChanged get fired in the sequence KeyDown, KeyPress, KeyUp.
