This documentation is archived and is not being maintained.

ComponentEventHandler Delegate

Represents the method that will handle the ComponentAdding, ComponentAdded, ComponentRemoving, and ComponentRemoved events raised for component-level events.

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

[ComVisibleAttribute(true)] 
public delegate void ComponentEventHandler (
	Object sender,
	ComponentEventArgs e
)
/** @delegate */
/** @attribute ComVisibleAttribute(true) */ 
public delegate void ComponentEventHandler (
	Object sender, 
	ComponentEventArgs e
)
Not applicable.

Parameters

sender

The source of the event.

e

A ComponentEventArgs that contains the event data.

When you create a ComponentEventHandler delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event-handler delegates, see Events and Delegates.

The following example demonstrates registering a ComponentEventHandler and handling the ComponentAdded, ComponentAdding, ComponentRemoved and ComponentRemoving events.

public void LinkComponentEvent(IComponentChangeService changeService)
{
    // Registers an event handler for the ComponentAdded,
    // ComponentAdding, ComponentRemoved, and ComponentRemoving events.
    changeService.ComponentAdded += new ComponentEventHandler(this.OnComponentEvent);            
    changeService.ComponentAdding += new ComponentEventHandler(this.OnComponentEvent);            
    changeService.ComponentRemoved += new ComponentEventHandler(this.OnComponentEvent);            
    changeService.ComponentRemoving += new ComponentEventHandler(this.OnComponentEvent);                        
}

private void OnComponentEvent(object sender, ComponentEventArgs e)
{
    // Displays changed component information on the console.            
    if( e.Component.Site != null )
        Console.WriteLine("Name of the component related to the event: "+e.Component.Site.Name);      
    Console.WriteLine("Type of the component related to the event: "+e.Component.GetType().FullName);
}

public void LinkComponentEvent(IComponentChangeService changeService)
{
    // Registers an event handler for the ComponentAdded,
    // ComponentAdding, ComponentRemoved, and ComponentRemoving events.
    changeService.add_ComponentAdded(new ComponentEventHandler(this.
        OnComponentEvent));
    changeService.add_ComponentAdding(new ComponentEventHandler(this.
        OnComponentEvent));
    changeService.add_ComponentRemoved(new ComponentEventHandler(this.
        OnComponentEvent));
    changeService.add_ComponentRemoving(new ComponentEventHandler(this.
        OnComponentEvent));
} //LinkComponentEvent

private void OnComponentEvent(Object sender, ComponentEventArgs e)
{
    // Displays changed component information on the console.            
    if (e.get_Component().get_Site() != null) {
        Console.WriteLine("Name of the component related to the event: "
            + e.get_Component().get_Site().get_Name());
    }
    Console.WriteLine("Type of the component related to the event: "
        + e.get_Component().GetType().get_FullName());
} //OnComponentEvent

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: