ActiveDesignerEventHandler 代理人

定義

代表處理 ActiveDesignerChanged 事件的方法。

public delegate void ActiveDesignerEventHandler(System::Object ^ sender, ActiveDesignerEventArgs ^ e);
public delegate void ActiveDesignerEventHandler(object sender, ActiveDesignerEventArgs e);
type ActiveDesignerEventHandler = delegate of obj * ActiveDesignerEventArgs -> unit
Public Delegate Sub ActiveDesignerEventHandler(sender As Object, e As ActiveDesignerEventArgs)

參數

sender
Object

事件的 來源。

e
ActiveDesignerEventArgs

一個 ActiveDesignerEventArgs 包含事件資料的 。

範例

以下範例示範註冊事件 ActiveDesignerEventHandler 並處理 ActiveDesignerChanged 事件。

public:
   void LinkActiveDesignerEvent( IDesignerEventService^ eventService )
   {
      // Registers an event handler for the ActiveDesignerChanged event.
      eventService->ActiveDesignerChanged += gcnew ActiveDesignerEventHandler( this, &MiscCompModSamples::ActiveDesignerEventHandlerExample::OnActiveDesignerEvent );
   }

private:
   void OnActiveDesignerEvent( Object^ /*sender*/, ActiveDesignerEventArgs^ e )
   {
      // Displays changed designer information on the console.
      if ( e->NewDesigner->RootComponent->Site != nullptr )
      {
         Console::WriteLine( "Name of the component of the new active designer: {0}", e->NewDesigner->RootComponent->Site->Name );
      }
      Console::WriteLine( "Type of the component of the new active designer: {0}", e->NewDesigner->RootComponentClassName );
      if ( e->OldDesigner->RootComponent->Site != nullptr )
      {
         Console::WriteLine( "Name of the component of the previously active designer: {0}", e->OldDesigner->RootComponent->Site->Name );
      }
      Console::WriteLine( "Type of the component of the previously active designer: {0}", e->OldDesigner->RootComponentClassName );
   }
public void LinkActiveDesignerEvent(IDesignerEventService eventService)
{
    // Registers an event handler for the ActiveDesignerChanged event.
    eventService.ActiveDesignerChanged += new ActiveDesignerEventHandler(this.OnActiveDesignerEvent);
}

private void OnActiveDesignerEvent(object sender, ActiveDesignerEventArgs e)
{
    // Displays changed designer information on the console.
    if( e.NewDesigner.RootComponent.Site != null )
        Console.WriteLine("Name of the component of the new active designer: "+e.NewDesigner.RootComponent.Site.Name);
    Console.WriteLine("Type of the component of the new active designer: "+e.NewDesigner.RootComponentClassName);
    if( e.OldDesigner.RootComponent.Site != null )
        Console.WriteLine("Name of the component of the previously active designer: "+e.OldDesigner.RootComponent.Site.Name);
    Console.WriteLine("Type of the component of the previously active designer: "+e.OldDesigner.RootComponentClassName);
}
Public Sub LinkActiveDesignerEvent(ByVal eventService As IDesignerEventService)
    ' Registers an event handler for the ActiveDesignerChanged event.
    AddHandler eventService.ActiveDesignerChanged, AddressOf Me.OnActiveDesignerEvent
End Sub

Private Sub OnActiveDesignerEvent(ByVal sender As Object, ByVal e As ActiveDesignerEventArgs)
    ' Displays changed designer information on the console.            
    If (e.NewDesigner.RootComponent.Site IsNot Nothing) Then
        Console.WriteLine(("Name of the component of the new active designer: " + e.NewDesigner.RootComponent.Site.Name))
    End If
    Console.WriteLine(("Type of the component of the new active designer: " + e.NewDesigner.RootComponentClassName))
    If (e.OldDesigner.RootComponent.Site IsNot Nothing) Then
        Console.WriteLine(("Name of the component of the previously active designer: " + e.OldDesigner.RootComponent.Site.Name))
    End If
    Console.WriteLine(("Type of the component of the previously active designer: " + e.OldDesigner.RootComponentClassName))
End Sub

備註

當目前有效的文件被修改時,該 ActiveDesignerChanged 事件會被觸發。

當你建立 ActiveDesignerEventHandler 代理人時,你就能確定處理事件的方法。 要將事件與你的事件處理器關聯,請將該代理的實例加入事件中。 事件處理程序會在事件發生時被呼叫,除非你移除代理。 欲了解更多關於事件處理代表的資訊,請參閱 「處理與提升事件」。

擴充方法

名稱 Description
GetMethodInfo(Delegate)

取得一個代表指定代理所代表方法的物件。

適用於

另請參閱