4

我正在使用 Windows 窗体和 WebBrowser 控件,我需要捕获和处理 WebBrowser 控件调用以关闭。

我看过这个,但它不能正常工作,因为我需要它:http: //blogs.artinsoft.net/Mrojas/archive/2009/05/21/Extended-WebBrowser-Control-Series-WebBrowser-Control-and-窗口关闭().aspx

这是我收到的信息:

---------------------------
Web Browser
---------------------------
The webpage you are viewing is trying to close the window.

Do you want to close this window?
---------------------------
Yes   No   
---------------------------

我需要捕捉这个事件并抑制它,然后执行一个函数。有谁知道一个简单的方法来做到这一点?

4

2 回答 2

10

在到处搜索并没有真正得到我需要的东西之后,我偶然发现了一个参考:

HtmlDocument htmlDocument = this.webBrowser1.Document;
htmlDocument.Window.Unload += new HtmlElementEventHandler(Window_Unload);

在关闭和处置 WebBrowser 控件之前,文档确实会被卸载。

void Window_Unload(object sender, HtmlElementEventArgs e)
{
    // Do your stuff here...
    // Call Method...
    // Close Form...
}

这现在对我有用。

于 2013-02-07T10:54:36.037 回答
0

可能您正在通过 Javascript 关闭此窗口。基本上这是安全原因。你不能关闭一个窗口,除非它是由脚本本身打开的。可能的解决方案是使用这个 Javascript 代码

function CloseWindow()
{
   window.open('','_self','');
   window.close();
}

这是指向同一示例的链接

https://msmvps.com/blogs/paulomorgado/archive/2007/11/02/how-to-close-browser-windows-in-windows-internet-explorer-7.aspx

但我不确定 IE 的所有版本。

于 2013-11-28T14:15:03.680 回答