The idea is very cool. Just attach your control to the the EventSpy's Listener and there you go you can start monitoring the events that are firing. It will be very handy when you are confused of the time of event firing.
http://www.codeproject.com/useritems/eventspy.asp#xx1248901xx
Here is the code snippet that author pulished in his article. Very Simple.
public class Dummy
{
public delegate void DummyEventHandler(string something);
public event DummyEventHandler DummyEvent;
public void RaiseEvent()
{
if (DummyEvent != null)
DummyEvent("Hello World!");
}
}
EventSpy.EventListener listener = new EventSpy.EventListener();
Dummy dummy = new Dummy();
listener.AttachTo(dummy); // This is the line to attach any componets to monitor.
dummy.RaiseEvent();
Enjoy!