WebBrowser.DetachSink Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Releases the event-handling client attached in the CreateSink method from the underlying ActiveX control.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

protected override void DetachSink()

This method is useful if you are familiar with OLE development using the unmanaged WebBrowser ActiveX control and you want to extend the functionality of the Windows Forms WebBrowser control, which is a managed wrapper for the ActiveX control. You can use this extensibility to implement events from the ActiveX control that are not provided by the wrapper control.

The following code example illustrates the use of this method in a class derived from WebBrowser that supplements the standard WebBrowser events with the NavigateError event from the OLE DWebBrowserEvents2 interface.

For the complete code example, see CreateSink.

AxHost.ConnectionPointCookie cookie;
WebBrowser2EventHelper helper;

[PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]
protected override void 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));

[PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]
protected override void DetachSink()
    // Disconnect the client that handles the event
    // from the underlying ActiveX control.
    if (cookie != null)
        cookie = null;


for immediate callers to use this control. Demand value: LinkDemand; NIB: Named Permission Sets: FullTrust.

.NET Framework
Available since 2.0
Return to top