ComponentEventHandler 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示處理為元件層次事件所引發的 ComponentAdding、ComponentAdded、ComponentRemoving 和 ComponentRemoved 事件的方法。
public delegate void ComponentEventHandler(System::Object ^ sender, ComponentEventArgs ^ e);
public delegate void ComponentEventHandler(object sender, ComponentEventArgs e);
public delegate void ComponentEventHandler(object? sender, ComponentEventArgs e);
[System.Runtime.InteropServices.ComVisible(true)]
public delegate void ComponentEventHandler(object sender, ComponentEventArgs e);
type ComponentEventHandler = delegate of obj * ComponentEventArgs -> unit
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComponentEventHandler = delegate of obj * ComponentEventArgs -> unit
Public Delegate Sub ComponentEventHandler(sender As Object, e As ComponentEventArgs)
參數
- sender
- Object
事件的來源。
ComponentEventArgs,其中包含事件資料。
- 屬性
範例
下列範例示範如何ComponentEventHandler註冊 和處理ComponentAdded、 ComponentAddingComponentRemoved 和 ComponentRemoving 事件。
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.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 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 (e.Component.Site IsNot Nothing) Then
Console.WriteLine(("Name of the component related to the event: " + e.Component.Site.Name))
End If
End Sub
備註
建立 ComponentEventHandler 委派時,必須識別處理事件的方法。 若要使事件與您的事件處理常式產生關聯,請將委派的執行個體 (Instance) 加入至事件。 除非您移除委派,否則每當事件發生時就會呼叫事件處理常式。 如需事件處理程式委派的詳細資訊,請參閱 處理和引發事件。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |