Aracılığıyla paylaş


WebBrowser.DetachSink Yöntem

Tanım

yöntemine eklenen olay işleme istemcisini CreateSink() temel activex denetiminden serbest bırakır.

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

Örnekler

Aşağıdaki kod örneği, ole arabiriminden olay ile standart WebBrowser olayları tamamlayan türetilmiş WebBrowser bir sınıfta bu yöntemin NavigateErrorDWebBrowserEvents2 kullanımını gösterir.

Kod örneğinin tamamı için bkz 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

Açıklamalar

Yönetilmeyen WebBrowser ActiveX denetimini kullanarak OLE geliştirme hakkında bilgi sahibiyseniz ve ActiveX denetimi için yönetilen sarmalayıcı olan Windows Forms WebBrowser denetiminin işlevselliğini genişletmek istiyorsanız bu yöntem yararlıdır. ActiveX denetiminden sarmalayıcı denetimi tarafından sağlanmayan olayları uygulamak için bu genişletilebilirliği kullanabilirsiniz.

Şunlara uygulanır

Ayrıca bkz.