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.
- e
Ein ComponentEventArgs, das die Ereignisdaten enthält.
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