2

Web ブラウザー コンポーネントに表示されるリンクが 3 つだけの単純な Web ページがあります。

<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>

要素のリストでクリック イベントのイベント ハンドラーを登録します。

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"');

別の Web ページが開かれたときではなく、ファイルがダウンロードされたときにテキスト "Hello" を含むメッセージ ボックスをポップアップするように SingleElementClickHandler を作成するにはどうすればよいですか?

サードパーティのコンポーネントを使用できません。

4

1 に答える 1

1

単に

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

こここのSOの質問でもう少し検索した後、これを見つけました(たとえそれがwpfコンポーネントであり、winformsコンポーネントではない場合でも)。

于 2012-04-27T15:40:28.787 に答える