2

我有一个简单的网页,我的 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”的消息框?

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

4

1 回答 1

1

简单地

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

在此处SO 问题中进行更多搜索后发现了此问题(即使它是 wpf 组件而不是 winforms 组件)。

于 2012-04-27T15:40:28.787 回答