Events in the .NET Framework are based on the delegate model. The delegate model follows the observer design pattern, which enables a subscriber to register with, and receive notifications from, a provider.
Event-Delegate Pattern: - Event - Delegate for Event Handler - Event Data
The .NET Framework provides EventHandler and EventHandler
The EventArgs class is the base type for all event data classes.