Bagikan melalui


WebBrowser.DetachSink Metode

Definisi

Merilis klien penanganan peristiwa yang dilampirkan dalam CreateSink() metode dari kontrol ActiveX yang mendasar.

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

Contoh

Contoh kode berikut mengilustrasikan penggunaan metode ini di kelas yang berasal dari WebBrowser yang melengkapi peristiwa standar WebBrowser dengan NavigateError peristiwa dari antarmuka OLE DWebBrowserEvents2 .

Untuk contoh kode lengkap, lihat 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

Keterangan

Metode ini berguna jika Anda terbiasa dengan pengembangan OLE menggunakan kontrol ActiveX yang tidak dikelola WebBrowser dan Anda ingin memperluas fungsionalitas kontrol Formulir WindowsWebBrowser, yang merupakan pembungkus terkelola untuk kontrol ActiveX. Anda dapat menggunakan ekstensibilitas ini untuk mengimplementasikan peristiwa dari kontrol ActiveX yang tidak disediakan oleh kontrol pembungkus.

Berlaku untuk

Lihat juga