开发者

capturing and cancelling the new window opening event in a wpf web browser

Can any one please tell me how to cancel the event of new window opening in a wpf webbrowser in C#?I dont want to show the internet explorer window on top of my application when a link is clicked.

The webbrowser is defined as below:

  <WebBrowser Canvas.Left="311.522" Canvas.Top="106.949" Height="500.805开发者_运维问答"
                  Width="945.998" ScrollViewer.VerticalScrollBarVisibility="Hidden" 
                        ScrollViewer.CanContentScroll="False"
                        ScrollViewer.HorizontalScrollBarVisibility="Hidden"
                  HorizontalAlignment="Left" Name="wbNavigator" VerticalAlignment="Bottom" ClipToBounds="True"   Navigated="wbNavigator_Navigated" />

Regards,


Ok, scroll to the bottom of this page. One of the users provides a solution that involves getting the IWebBrowser2 interface from the WPF WebBrowser control. This interface provides access to the NewWindow event, which can be used to cancel the opening of a new browser window. It seems like a valid solution to me.

Good luck and let me know if you need any more help with this.


Add this to your namespace works for me, I don't know why ... I found it here but I have used only this part of the code without MyWebBrowser.LoadCompleted and COM references stuffs

[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("6d5140c1-7436-11ce-8034-00aa006009fa")]
internal interface IServiceProvider
{
    [return: MarshalAs(UnmanagedType.IUnknown)]
    object QueryService(ref Guid guidService, ref Guid riid);
}

If someone can explain why this code do the job, please...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜