WebBrowser.DetachSink Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Uvolní klienta pro zpracování událostí připojeného CreateSink() v metodě z podkladového ovládacího prvku ActiveX.
protected:
override void DetachSink();
protected override void DetachSink ();
override this.DetachSink : unit -> unit
Protected Overrides Sub DetachSink ()
Příklady
Následující příklad kódu ukazuje použití této metody ve třídě odvozené z WebBrowser , která doplňuje standardní WebBrowser události událostí NavigateError
z rozhraní OLE DWebBrowserEvents2
.
Kompletní příklad kódu najdete v tématu 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
Poznámky
Tato metoda je užitečná, pokud jste obeznámeni s vývojem OLE pomocí nespravovaného WebBrowser
ovládacího prvku ActiveX a chcete rozšířit funkce ovládacího prvku Windows Forms WebBrowser , což je spravovaná obálka pro ovládací prvek ActiveX. Tuto rozšiřitelnost můžete použít k implementaci událostí z ovládacího prvku ActiveX, které nejsou poskytovány ovládacím prvku obálky.