我有网页浏览器控件,其中包含许多链接和数据。所有这些数据都来自网络服务。
现在,当我点击第一个web broser链接时,我想打开另一个Web浏览器控件。 怎么做呢?
我的第一个网络代码是:
webBrowser1.NavigateToString(htmlCode);
答案 0 :(得分:1)
您可以在webBrowser1下隐藏另一个webBrowser。让我们称之为webBrowser2
。现在,当用户点击webBrowser1上的链接时,捕获一个字符串,让我们说link
。现在,您可以使用link
导航至webBrowser2.Navigate(new Uri(link,UriKind.Absolute));
。不要忘记隐藏webBrowser1和webBrowser2可见。
答案 1 :(得分:1)
如果我理解你,你想拦截第一个WB控件中的onClick事件(调用此WB1),并在另一个WB控件中打开该页面(当点击超链接时)(调用此WB2)?
有几种方法可以做到这一点,这个链接是否设置为在新窗口中打开?如果是这样,你可以拦截NewWindow2事件是WB1并在WB1的NewWindow2事件中运行以下代码... 设置pDisp = WB2.object
(它可能是ppDisp而不是pDisp,但它会在您的事件自动生成时显示,请选择参数列表中显示的任何对象名称。)
否则,您可以在WB1事件的BeforeNavigate2事件期间拦截此请求,检查URL属性是否是您感兴趣的链接,如果是,请取消当前请求并重新发出新请求,如下所示。 。(在WB1 BN2活动中)...... 取消=真'这取消了请求 WB2.Navigate2 URL ,,“YourWB2sDocumentNameOrTargetFrameNameGoesHere”
第二行代码只是重新发出请求。
当然,YourWB2sDocumentNameOrTargetFrameNameGoesHere是TargetFrameName(或顶级文档的框架或文档名称,或WB2控件/窗口中的任何iframe)。这通常可以在BODY标签name = property中找到,但如果您只想将其作为WB2中的顶级文档加载,您甚至不需要这样做...如果您只是想将其加载为WB2中的父级顶级文档,只需执行此操作... 取消=真 WB2.Navigate2网址
通过引用WB2,它将在取消WB1请求后向WB2窗口发送相同的URL请求。
如果您需要更多帮助,请告诉我,让我知道您是如何相处的。