WebBrowser.DetachSink Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Освобождает клиент обработки событий, подключенный к методу CreateSink() , из базового элемента управления ActiveX.
protected:
override void DetachSink();
protected override void DetachSink();
override this.DetachSink : unit -> unit
Protected Overrides Sub DetachSink ()
Примеры
В следующем примере кода показано использование этого метода в классе, производном от WebBrowser этого, дополняет стандартные WebBrowser события NavigateError событием из интерфейса OLE DWebBrowserEvents2 .
Полный пример кода см. в разделе 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
Комментарии
Этот метод полезен, если вы знакомы с разработкой OLE с помощью неуправляемого элемента управления WebBrowser ActiveX и хотите расширить функциональные возможности элемента управления Windows Forms WebBrowser, который является управляемым оболочкой для элемента activeX. Эту расширяемость можно использовать для реализации событий из элемента управления ActiveX, которые не предоставляются элементом управления-оболочкой.