WebBrowser.DetachSink Метод

Определение

Освобождает клиент, обрабатывающий события, который присоединен к методу CreateSink(), в базовом элементе управления ActiveX.

protected:
 override void DetachSink();
protected override void DetachSink ();
override this.DetachSink : unit -> unit
Protected Overrides Sub DetachSink ()

Примеры

В следующем примере кода показано использование этого метода в классе, производном от WebBrowser , который дополняет стандартные WebBrowserNavigateError события событием из интерфейса OLE DWebBrowserEvents2 .

Полный пример кода см. в разделе CreateSink.

AxHost.ConnectionPointCookie cookie;
WebBrowser2EventHelper helper;

protected override void CreateSink()
{
    base.CreateSink();

    // Create an instance of the client that will handle the event
    // and associate it with the underlying ActiveX control.
    helper = new WebBrowser2EventHelper(this);
    cookie = new AxHost.ConnectionPointCookie(
        this.ActiveXInstance, helper, typeof(DWebBrowserEvents2));
}

protected override void DetachSink()
{
    // Disconnect the client that handles the event
    // from the underlying ActiveX control.
    if (cookie != null)
    {
        cookie.Disconnect();
        cookie = null;
    }
    base.DetachSink();
}
Private cookie As AxHost.ConnectionPointCookie
Private helper As WebBrowser2EventHelper

<PermissionSetAttribute(SecurityAction.LinkDemand, _
Name := "FullTrust")> Protected Overrides Sub CreateSink()

    MyBase.CreateSink()

    ' Create an instance of the client that will handle the event
    ' and associate it with the underlying ActiveX control.
    helper = New WebBrowser2EventHelper(Me)
    cookie = New AxHost.ConnectionPointCookie( _
        Me.ActiveXInstance, helper, GetType(DWebBrowserEvents2))
End Sub

<PermissionSetAttribute(SecurityAction.LinkDemand, _
Name := "FullTrust")> Protected Overrides Sub DetachSink()

    ' Disconnect the client that handles the event
    ' from the underlying ActiveX control.
    If cookie IsNot Nothing Then
        cookie.Disconnect()
        cookie = Nothing
    End If
    MyBase.DetachSink()

End Sub

Комментарии

Этот метод полезен, если вы знакомы с разработкой OLE с помощью неуправляемого WebBrowser элемента ActiveX и хотите расширить функциональные возможности элемента управления Windows FormsWebBrowser, который является управляемой оболочкой для элемента ActiveX. Эту расширяемость можно использовать для реализации событий из элемента управления ActiveX, которые не предоставляются элементом управления-оболочкой.

Применяется к

См. также раздел