6

我正在使用 C# WebBrowser 为我的桌面应用程序显示 Facebook 登录对话框。我注册了 WebBrowser.DocumentCompleted 事件,一旦我得到我期望的 URL,我停止 WebBrowser,并关闭对话框。

出于某种原因,关闭对话框后,Internet Explorer 突然打开。

我只能假设它打开了 IE(顺便说一句,甚至不是我的默认浏览器),因为 Web 服务器返回了该页面,而我的 WebBrowser 已经消失了。是这样吗?知道如何预防吗?

谢谢!

编辑:当我关闭 WebBrowser 时,它已经包含在 IE 中显示的 HTML。

4

2 回答 2

4

如果是弹窗。为什么不直接处理事件?你可以做这样的事情。

{...
  WebBrowser wb = new WebBrowser();
  wb.NewWindow += new System.ComponentModel.CancelEventHandler(wb_NewWindow);
}

void wb_NewWindow(object sender, System.ComponentModel.CancelEventArgs e)
{
    e.Cancel = true;
}
于 2012-04-27T03:00:09.220 回答
0

那是因为页面没有加载成功。也许某些脚本无法被浏览器执行。在关闭WebBrowser或之前FormwebBrowser打开“零页”。做:

WebBrowser.url = new URl("about:blank");

然后关闭表单,关闭或处理浏览器....

于 2014-05-11T18:51:53.267 回答