EventHandlerService Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Provides a systematic way to manage event handlers for the current document.

Namespace:   System.Windows.Forms.Design
Assembly:  System.Design (in System.Design.dll)


public sealed class EventHandlerService


Initializes a new instance of the EventHandlerService class.


Gets the control to which event handlers are attached.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Gets the currently active event handler of the specified type.


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Pops the given handler off of the stack.


Pushes a new event handler on the stack.


Returns a string that represents the current object.(Inherited from Object.)


Fires an OnEventHandlerChanged event.

Developers may want to be able to write code in one place that handles events of a certain type.

Also, developers may need to globally change the behavior of the handlers for specific events or types of events, which may be distributed among designer components.

The designers for a typical project are many different objects so it can be useful to list and store reference to these events from a common place.

This service implements an "event stack" that contains the current set of event handlers. The stack may have a variety of different types of handlers on the stack.

For example, a designer might push, or add, a keyboard handler and a mouse handler onto the stack. When a designer requests an event handler, the service will find the topmost handler on the stack that matches the class you requested.

This way the service can be extended to any eventing scheme, and it also allows specific types of event handlers to be replaced. For example, you can replace mouse event handlers without affecting menu event handlers or keyboard event handlers.

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top