使用WebBrowser控件在同一窗口中打开链接

时间:2015-05-17 03:25:37

标签: .net vb.net webbrowser-control

我有一个带有WebBrowser控件的Win申请表。我加载了一个网址(例如:登录google.com),登录后,有一个按钮可以下载文件。

当我点击WebBrowser页面上的下载按钮时,地址被发送到外部浏览器,因此外部浏览器将再次请求用户名和密码(这不是好的)。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要覆盖NewWindow3事件。在您的事件处理程序中取消它,然后将webbrowser控件重定向到它尝试打开的URL。

像,

(webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Browser_NewWindow3);

private void Browser_NewWindow3(ref object browserObj, ref bool cancel, uint dwFlags, string openerURL, string targetURL)
    {
        cancel = true;
        webBrowser1.Navigate(targetURL);
    }