所以我有一个链接,我试图点击一个WebBrowser控件。问题是它弹出一个新选项卡,使IE打开。我在IE浏览器打开后无法管理网页,因此我需要强制它以某种方式保留在我的程序中。如果另一个WebBrowser控件需要打开或任何东西都没关系,只要它在我的程序中说明。
答案 0 :(得分:0)
有几种方法可以做到这一点,一种方法是遍历DOM(文档对象模型)并找到在新窗口中打开的链接,并将其“target =”属性值更改为“target = _top“这样它将在当前WB控件容器的当前顶级页面中打开。
否则,有一个NewWindow2事件可以拦截,在该事件中写入以下代码(其中WB1是WebBrowser控件名称):
Processed = True
WB1.Navigate2 URL
这将告诉你的WB Control已经处理了请求(诱使它相信它已被处理),如果你刚刚这样做,什么都不会发生,所以在第一行之后你写了第二行告诉它打开它刚刚尝试在新窗口中打开的URL,在当前窗口(WB1)中,所以实际上你只是重新发出请求,但是对于点击链接的同一容器/ WB Control。
我已经在VB中编写了代码,但是我确定理解并转移到c#不是问题。
让我知道你是如何相处的,如果还有什么我可以帮忙的。