检测单击下载winforms WebBrowser组件中的文件的时间

时间:2012-04-27 15:28:43

标签: c# winforms webbrowser-control

我有一个简单的网页,我的webbrowser组件中只显示了3个链接:

<a href="/newpage1.html" id="el-1">Go to new page 1</a>
<a href="/newpage2.html" id="el-2">Go to new page 2</a>
<a href="/file.zip" id="el-1">Download file</a>

我在元素列表

上注册click事件的事件处理程序
foreach (HtmlElement e in this.webBrowserMain.Document.GetElementsByTagName("a")){
    e.Click += this.SingleElementClickHandler;
}

假设服务器端为文件/file.zip发送了以下标头

header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="file.zip"');

如何在下载文件时编写SingleElementClickHandler以弹出文本“Hello”的消息框,打开另一个网页时如何

我不能使用任何第三方组件。

1 个答案:

答案 0 :(得分:1)

简单地

this.webBrowserMain.FileDownload += 
    new EventHandler((x, y) => MessageBox.Show("Hello"));

在搜索herethis之后发现这个问题(即使它是wpf组件而不是winforms组件)。