Compartir a través de


WebBrowser.DetachSink Método

Definición

Libera el cliente de control de eventos conectado al método CreateSink() del control ActiveX subyacente.

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

Ejemplos

En el ejemplo de código siguiente se muestra el uso de este método en una clase derivada de WebBrowser que complementa los eventos estándar WebBrowser con el NavigateError evento de la interfaz OLE DWebBrowserEvents2 .

Para obtener el ejemplo de código completo, vea 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

Comentarios

Este método es útil si está familiarizado con el desarrollo OLE mediante el control ActiveX no administrado WebBrowser y desea ampliar la funcionalidad del control de Windows Forms WebBrowser , que es un contenedor administrado para el control ActiveX. Puede usar esta extensibilidad para implementar eventos desde el control ActiveX que el control contenedor no proporciona.

Se aplica a

Consulte también