It's not that it's an event, it is that it is a delegate. A delegate is a pointer to other methods. A delegate can point to an unlimited amount of methods and when you call a delegate you call all its appointed methods.
Its used so at compile time the method doesn't need yet to know which methods need to be invoked. and is assigned always via a "+=" operator.
It's also worth noting that you can use the -= operator to stop the delegate pointing to a method e.g.
Car myCar = new Car();
public void Start()
myCar.Crash += new Car.CrashEventHandler(myMethod);
private void myMethod()
public void Stop()
myCar.Crash -= new Car.CrashEventHandler(myMethod);
I Developed application in C# with crystal reports and created setup file in third party (Advance) Installer.When i installed my application on client system application is working but ...