This was a subject that most people will find very confusing and difficult to get their head round. (Not the concept but the implementation anyway.) I read several tutorials all of which confused me.

 However I found a demonstrational video free to view online by Dan Wahlin. It is a very easy an comprehensive guide to follow it helped me immensly. It can be found at:

http://www.xmlforasp.net/codebank/download/blog/video/EventsAndDelegatesCSharp.wmv 13MB.

 Until watching this I never understood the concept of delegates and event handlers, now I understand that a delegate is in a way a pipeline that is used to transfer data from an event to the listener.

See if you can follow his tutorial, watch it twice if you need to.