ComponentEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, предназначенный для обработки событий 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 необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе Обработка и вызов событий.
Методы расширения
GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |