Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

EventDescriptor Class


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

Provides information about an event.

Namespace:   System.ComponentModel
Assembly:  System (in System.dll)


[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public abstract class EventDescriptor : MemberDescriptor


Initializes a new instance of the EventDescriptor class with the name and attributes in the specified MemberDescriptor.

System_CAPS_protmethodEventDescriptor(MemberDescriptor, Attribute[])

Initializes a new instance of the EventDescriptor class with the name in the specified MemberDescriptor and the attributes in both the MemberDescriptor and the Attribute array.

System_CAPS_protmethodEventDescriptor(String, Attribute[])

Initializes a new instance of the EventDescriptor class with the specified name and attribute array.


Gets or sets an array of attributes.(Inherited from MemberDescriptor.)


Gets the collection of attributes for this member.(Inherited from MemberDescriptor.)


Gets the name of the category to which the member belongs, as specified in the CategoryAttribute.(Inherited from MemberDescriptor.)


When overridden in a derived class, gets the type of component this event is bound to.


Gets the description of the member, as specified in the DescriptionAttribute.(Inherited from MemberDescriptor.)


Gets whether this member should be set only at design time, as specified in the DesignOnlyAttribute.(Inherited from MemberDescriptor.)


Gets the name that can be displayed in a window, such as a Properties window.(Inherited from MemberDescriptor.)


When overridden in a derived class, gets the type of delegate for the event.


Gets a value indicating whether the member is browsable, as specified in the BrowsableAttribute.(Inherited from MemberDescriptor.)


When overridden in a derived class, gets a value indicating whether the event delegate is a multicast delegate.


Gets the name of the member.(Inherited from MemberDescriptor.)


Gets the hash code for the name of the member, as specified in GetHashCode.(Inherited from MemberDescriptor.)

System_CAPS_pubmethodAddEventHandler(Object, Delegate)

When overridden in a derived class, binds the event to the component.


Creates a collection of attributes using the array of attributes passed to the constructor.(Inherited from MemberDescriptor.)


Compares this instance to the given object to see if they are equivalent.(Inherited from MemberDescriptor.)


When overridden in a derived class, adds the attributes of the inheriting class to the specified list of attributes in the parent class.(Inherited from MemberDescriptor.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Returns the hash code for this instance.(Inherited from MemberDescriptor.)

System_CAPS_protmethodGetInvocationTarget(Type, Object)

Retrieves the object that should be used during invocation of members.(Inherited from MemberDescriptor.)


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


Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodRemoveEventHandler(Object, Delegate)

When overridden in a derived class, unbinds the delegate from the component so that the delegate will no longer receive events from the component.


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

An EventDescriptor consists of a name, its attributes, the component that the event is bound to, the event delegate, the type of delegate, and whether the delegate is multicast.

EventDescriptor provides the following abstract properties and methods:

  • ComponentType contains the type of the component this event is declared on.

  • EventType contains the type of delegate for the event.

  • IsMulticast contains a value indicating whether the event delegate is a multicast delegate.

  • AddEventHandler binds the event to a component.

  • RemoveEventHandler unbinds the delegate from the component so that the delegate no longer receives events from the component.

For more information about events, see NIB: Raising an Event. For more information about reflection, see the topics in Reflection in the .NET Framework.

The following code example is built upon the example in the EventDescriptorCollection class. It prints the information (category, description, and display name) of each event on a button in a text box. It requires that button1 and textbox1 have been instantiated on a form.

EventDescriptorCollection events = TypeDescriptor.GetEvents(button1);
// Displays each event's information in the collection in a text box.
foreach (System.ComponentModel.EventDescriptor myEvent in events) {
    textBox1.Text += myEvent.Category + '\n';
    textBox1.Text += myEvent.Description + '\n';
    textBox1.Text += myEvent.DisplayName + '\n';

.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
© 2018 Microsoft