当您在 .NET 中使用 WebBrowser 控件时,您可以在您的应用程序中“嵌入”一个 IE 实例,实质上是制作您自己的基于 IE 的 Web 浏览器。
有谁知道如何使创建的任何新窗口(例如当用户从上下文菜单中选择“在新窗口中打开”时)在您的 Web 浏览器应用程序的另一个窗口中打开,而不是在计算机的默认浏览器中打开?
当您在 .NET 中使用 WebBrowser 控件时,您可以在您的应用程序中“嵌入”一个 IE 实例,实质上是制作您自己的基于 IE 的 Web 浏览器。
有谁知道如何使创建的任何新窗口(例如当用户从上下文菜单中选择“在新窗口中打开”时)在您的 Web 浏览器应用程序的另一个窗口中打开,而不是在计算机的默认浏览器中打开?
也许这篇 CodeProject 文章中的源代码可以提供帮助:
我很久以前在VB中做过这个。
据我记得,当控件触发 NewWindow2 事件时,我们将取消原始请求并打开一个单独的 VB 表单,其中包含指向请求 URL 的 WebBrowser 控件的另一个实例。
我做了一个快速的谷歌搜索,似乎这个事件在 .Net 中并不那么容易访问。 在这里查看可能的解决方案。
这里有一个代码示例,其中包含用于将 NewWindow2 事件添加到 WebBrowser 控件的代码。如果他们将此事件添加到 WebBrowser 控件本身,那肯定会很好。
如果您使用的是 .net 版本的 webbrowser 控件,此站点有我发现的最佳解决方案
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/f497f8a5-dac8-48cb-9fce-7936c9389f09