WebBrowser.DetachSink Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Zwalnia klienta obsługującego zdarzenia dołączonego do metody z bazowej kontrolki CreateSink() ActiveX.
protected:
override void DetachSink();
protected override void DetachSink();
override this.DetachSink : unit -> unit
Protected Overrides Sub DetachSink ()
Przykłady
Poniższy przykład kodu ilustruje użycie tej metody w klasie pochodzącej z WebBrowser tej klasy, która uzupełnia zdarzenia standardowe WebBrowser z NavigateError zdarzeniem z interfejsu OLE DWebBrowserEvents2 .
Pełny przykład kodu można znaleźć w temacie 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
Uwagi
Ta metoda jest przydatna, jeśli znasz programowanie OLE przy użyciu niezarządzanej WebBrowser kontrolki ActiveX i chcesz rozszerzyć funkcjonalność kontrolki Windows Forms WebBrowser , która jest zarządzaną otoką kontrolki ActiveX. Za pomocą tej rozszerzalności można zaimplementować zdarzenia z kontrolki ActiveX, które nie są dostarczane przez kontrolkę otoki.