WebBrowser コントロールをクリックしようとしているリンクがあります。問題は、新しいタブにポップアップして IE が開くことです。Web ページを IE で開いた後は管理できないので、どうにかしてプログラム内にとどめる必要があります。私のプログラムで言う限り、別の WebBrowser コントロールを開く必要があるかどうかは問題ではありません。
2209 次
1 に答える
0
これを行うにはいくつかの方法があります。1 つの方法は、DOM (ドキュメント オブジェクト モデル) をループして、新しいウィンドウで開くリンクを見つけ、その "target=" 属性値を "target=_top" に変更することです。現在のWB Controlコンテナの現在のトップレベルページで開く方法。
それ以外の場合は、傍受できる NewWindow2 イベントがあり、そのイベント内に次のコードを記述します (WB1 は WebBrowser コントロールの名前です)。
Processed = True
WB1.Navigate2 URL
これにより、リクエストが処理されたことを WB Control に通知し (処理されたと信じ込ませる)、これを実行しただけでは何も起こらないため、最初の行の後に、開くように指示する 2 行目を記述します。現在のウィンドウ(WB1)の新しいウィンドウで開こうとしたばかりのURLなので、実際にはリクエストを再発行しているだけですが、リンクがクリックされたのと同じコンテナ/ WBコントロールに対してです。
私は VB でコードを書きましたが、理解して c# に移行することは問題ないと確信しています。
あなたがどのように仲良くしているか教えてください。他に私にできることがあれば教えてください。
于 2012-09-01T19:39:17.687 に答える