WebBrowser.DetachSink Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 Windows Forms, yang merupakan pembungkus WebBrowser terkelola untuk kontrol ActiveX. Anda dapat menggunakan ekstensibilitas ini untuk mengimplementasikan peristiwa dari kontrol ActiveX yang tidak disediakan oleh kontrol pembungkus.