Freigeben über


ComponentEventHandler-Delegat

Stellt die Methode dar, die für Ereignisse auf Komponentenebene das ComponentAdding-Ereignis , das ComponentAdded-Ereignis , das ComponentRemoving und das ComponentRemoved-Ereignis auslöst.

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

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Delegate Sub ComponentEventHandler ( _
    sender As Object, _
    e As ComponentEventArgs _
)
'Usage
Dim instance As New ComponentEventHandler(AddressOf HandlerMethod)
[ComVisibleAttribute(true)] 
public delegate void ComponentEventHandler (
    Object sender,
    ComponentEventArgs e
)
[ComVisibleAttribute(true)] 
public delegate void ComponentEventHandler (
    Object^ sender, 
    ComponentEventArgs^ e
)
/** @delegate */
/** @attribute ComVisibleAttribute(true) */ 
public delegate void ComponentEventHandler (
    Object sender, 
    ComponentEventArgs e
)
JScript unterstützt die Verwendung von Delegaten, aber nicht die Deklaration von neuen Delegaten.

Parameter

  • sender
    Die Quelle des Ereignisses.

Hinweise

Beim Erstellen eines ComponentEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen über Ereignishandlerdelegaten finden Sie unter Ereignisse und Delegaten.

Hinweis

Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert SharedState. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Beispiel

Im folgenden Beispiel wird die Registrierung eines ComponentEventHandler sowie die Behandlung des ComponentAdded-Ereignisses, des ComponentAdding-Ereignisses, des ComponentRemoved-Ereignisses und des ComponentRemoving-Ereignisses veranschaulicht.

Public Sub LinkComponentEvent(ByVal changeService As IComponentChangeService)
    ' Registers an event handler for the ComponentAdded,
    ' ComponentAdding, ComponentRemoved, and ComponentRemoving events.
    AddHandler changeService.ComponentAdded, AddressOf Me.OnComponentEvent
    AddHandler changeService.ComponentAdding, AddressOf Me.OnComponentEvent
    AddHandler changeService.ComponentRemoved, AddressOf Me.OnComponentEvent
    AddHandler changeService.ComponentRemoving, AddressOf Me.OnComponentEvent
End Sub

Private Sub OnComponentEvent(ByVal sender As Object, ByVal e As ComponentEventArgs)
    ' Displays changed component information on the console.            
    If Not (e.Component.Site Is Nothing) Then
        Console.WriteLine(("Name of the component related to the event: " + e.Component.Site.Name))
    End If
End Sub
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->ComponentAdded += gcnew ComponentEventHandler(
         this, &ComponentEventHandlerExample::OnComponentEvent );
      changeService->ComponentAdding += gcnew ComponentEventHandler(
         this, &ComponentEventHandlerExample::OnComponentEvent );
      changeService->ComponentRemoved += gcnew ComponentEventHandler(
         this, &ComponentEventHandlerExample::OnComponentEvent );
      changeService->ComponentRemoving += gcnew ComponentEventHandler(
         this, &ComponentEventHandlerExample::OnComponentEvent );
   }

private:
   void OnComponentEvent( Object^ sender, ComponentEventArgs^ e )
   {
      // Displays changed component information on the console.
      if ( e->Component->Site != nullptr )
      {
         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

Plattformen

Windows 98, Windows 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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.ComponentModel.Design-Namespace
ComponentEventArgs-Klasse
ComponentChangingEventHandler-Delegat
ComponentChangedEventHandler-Delegat