none
WebBrowserでHTTPエラーしたときなどの検知方法について RRS feed

  • 質問

  • WebBrowserでHTTPエラーしたときなどの検知方法について知りたく、
    よろしくお願いします。

    しばしば
     "Internet Explorer ではこのページは表示できません -> http://ww・・・"
    のようになったり、HTTPエラー(400など)が起こります。

    これを、Document.Title で知る以外に方法があれば教えてください。


    2010年1月20日 16:05

回答

  • System.Windows.Forms.WebBrowser、System.Windows.WebBrowser ともに公開してませんね。
    System.Windows.Forms.WebBrowser の方なら、もとになる WebBrowser ActiveX コントロールには NavigateError イベントが用意されています。
    NavigateError で検索すると System.Windows.Forms.WebBrowser から利用する方法も見つかるでしょう(ていうか私自身がコメントしたどこかの掲示板のスレッドが先頭に出た)。
    2010年1月20日 16:40

すべての返信

  • System.Windows.Forms.WebBrowser、System.Windows.WebBrowser ともに公開してませんね。
    System.Windows.Forms.WebBrowser の方なら、もとになる WebBrowser ActiveX コントロールには NavigateError イベントが用意されています。
    NavigateError で検索すると System.Windows.Forms.WebBrowser から利用する方法も見つかるでしょう(ていうか私自身がコメントしたどこかの掲示板のスレッドが先頭に出た)。
    2010年1月20日 16:40
  • NavigateError で検索してみましたところ、おっしゃる通り、

    WebBrowser のナビゲーションの失敗のハンドリング DOBON.NETプログラミング掲示板過去ログ
    http://dobon.net/vb/bbs/log3-30/18517.html

    ここで Hongliang さんが回答されていたことがわかりました!

    ・SHDocVw.dll を参照し、WebBrowser.ActiveXInstance を SHDocVw.WebBrowser にキャストして NavigateError イベントを設定する

    これをやってみましたところ、確かにHTTPエラー400を把捉することができています。
    ありがとうございました!この後またいろいろテストしてみます。

    もうひとつの

    ・イベントシンクを設定する(以下のページが参考になります)
    http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindow2Event.htm

    こちらの方法もまた折を見てやってみたいと思います。

    ご指導まことにありがとうございました。
    2010年1月21日 4:15