■45225 / inTopicNo.3) |
Re[2]: リンクをクリックしたときのイベントを取得したい |
□投稿者/ コロナ (2回)-(2010/01/06(Wed) 16:25:21)
|
ごうさん、早速ありがとうございました。
BeforeNavigate または BeforeNavigate2ということだったのですが、
http://vsug.jp/tabid/63/forumid/45/threadid/9273/scope/posts/Default.aspx
を見たら、Visual Studio 2005の場合は、Navigating イベントという記述があり、
次のように実装してみました。
string URL = http://〜〜;
private void Form_Load(object sender, EventArgs e){
webBrowser.Navigate(URL);
}
private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e){
if (e.Url.ToString() != URL){
webBrowser.Navigate(e.Url.ToString());
}
}
質問の意図としては、リンクをクリックしたときにそのURLを開きたい、ということでした。
しかしながら、この方法だと、方法がまずいのかもしれませんが、
いくつも問題が出ているようで、うまく動きません。
デバッグしてみたところ、次のようなことのようです。
(1)リンクをクリックしたときだけでなく、最初にページを開いたときもNavigatingの処理をする。
なるほど、NavigatingがWebページを開くときのイベントであるとすれば、
それはわからないではないが、なんかループしている気もする…。
(2)クリックしたときにイベントを取れると思ったのですが、
じっさいにはページ内のリンクをぜんぶ列挙してひとつひとつ処理しているみたい。
そのため、多数のリンクを含むページの場合、処理が終了しない。
ページ内に自分のページへのリンクがある場合、ループしてしまう。
回避策は、ifで条件を列挙する以外ないんでしょうか?
よろしくアドバイスお願いします。
|
|