以下は、ブラウザーのDocumentCompleted
イベントとして使用する関数とnavBtnClick()
、Webブラウザーの作成と特定のURLへの移動を担当するメソッドです。
public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
MessageBox.Show( ((WebBrowser)sender).Url.ToString() );
}
private void navBtnClick(object sender, EventArgs e)
{
WebBrowser wbrowser = new WebBrowser();
wbrowser.DocumentCompleted +=new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);
wbrowser.Navigate("http://www.google.com");
}
この行wbrowser.Navigate("http://www.google.com");
が実行された後、URLを正しく表示するメッセージボックスが表示され、しばらくすると、同じURLで別のメッセージボックスが表示されます。つまり、DocumentCompleted
イベントハンドラーにあるものはすべて、2回実行されます。誰かが私にそれを一度だけ実行させるのを手伝ってもらえますか?