我正在使用Windows窗体和WebBrowser控件,我需要捕获和处理WebBrowser Controls调用以关闭。
我已经看过这个,但它不能正常工作,因为我需要它:http://blogs.artinsoft.net/Mrojas/archive/2009/05/21/Extended-WebBrowser-Control-Series-WebBrowser-Control-and-windowClose().aspx
这是我得到的消息:
---------------------------
Web Browser
---------------------------
The webpage you are viewing is trying to close the window.
Do you want to close this window?
---------------------------
Yes No
---------------------------
我需要捕获此事件并禁止它,然后执行一个函数。有谁知道一个简单的方法来做到这一点?
答案 0 :(得分:9)
在到处搜索并没有真正得到我需要的东西之后,我偶然发现了一个偶然的参考:
HtmlDocument htmlDocument = this.webBrowser1.Document;
htmlDocument.Window.Unload += new HtmlElementEventHandler(Window_Unload);
在关闭和处理WebBrowser控件之前,Document确实已卸载。
void Window_Unload(object sender, HtmlElementEventArgs e)
{
// Do your stuff here...
// Call Method...
// Close Form...
}
现在这对我有用了。
答案 1 :(得分:0)
可能你是用Javascript关闭这个窗口的。基本上这是安全原因。除非脚本本身打开,否则无法关闭窗口。可能的解决方案可能是使用此Javascript代码
function CloseWindow()
{
window.open('','_self','');
window.close();
}
以下是相同示例的链接
但我不确定IE的所有版本。