[Tips][WebBrowser] まとめ

これまでに紹介したWebBrowserのTipは下記の通りです。

  1. 指定したWebページを表示する
  2. 前ページ/次ページへ移動する
  3. Webページの読み込みが完了したことを知る
  4. ドキュメントタイトルを取得する
  5. 別ページへの移動を禁止する
  6. HTMLドキュメントを取得する
  7. 現在のWebページを再読み込みする
  8. 現在表示しているページのURLを取得する
  9. 現在のWebページを印刷する
  10. スクリプトエラーに関するダイアログを表示しないようにする

[Tips][WebBrowser] スクリプトエラーに関するダイアログを表示しないようにする

[ad code=2 align=left]
表示するWebページにスクリプトエラーがある場合は、エラーに関するダイアログが表示されます。

このダイアログが表示されないようにするには、ScriptErrorsSuppressedプロパティにFalseを設定します。

下記は、スクリプトエラーに関するダイアログが表示されないように設定する例です。

VBの例

' フォームロード時の処理
Private Sub Form10_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '★★★スクリプトエラーのダイアログボックスを表示しないようにする★★★
    WebBrowser1.ScriptErrorsSuppressed = False

    'Yahooを開く
    WebBrowser1.Url = New Uri("http://www.yahoo.co.jp")
End Sub

C#の例

// フォームロード時の処理
private void Form10_Load(object sender, EventArgs e)
{
    // ★★★スクリプトエラーのダイアログボックスを表示しないようにする★★★
    webBrowser1.ScriptErrorsSuppressed = false;

    // Yahooを開く
    webBrowser1.Url = new Uri("http://www.yahoo.co.jp");
}

[Tips][WebBrowser] 現在のWebページを印刷する

[ad code=2 align=left]
現在のWebページを印刷するにはPrintメソッドを使用します。

印刷は現在設定されているプリンタを使用して行われます。

下記は、現在表示しているWebページを印刷をする例です。

VBの例

' フォームロード時の処理
Private Sub Form9_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    'Yahooを開く
    WebBrowser1.Url = New Uri("http://www.yahoo.co.jp")
End Sub

' [印刷]ボタンクリック時の処理
Private Sub btnPrint_Click(sender As System.Object, e As System.EventArgs) Handles btnPrint.Click
    '★★★現在のプリンタの設定を使用して印刷する★★★
    WebBrowser1.Print()
End Sub

C#の例

// フォームロード時の処理
private void Form9_Load(object sender, EventArgs e)
{
    // Yahooを開く
    webBrowser1.Url = new Uri("http://www.yahoo.co.jp");
}

// [印刷]ボタンクリック時の処理
private void btnPrint_Click(object sender, EventArgs e)
{
    // ★★★現在のプリンタの設定を使用して印刷する★★★
    webBrowser1.Print();
}

[Tips][WebBrowser] 現在表示しているページのURLを取得する

現在表示しているページのURLを取得するにはUrlプロパティを参照します。

UrlプロパティはSystem.Uri型であるため、文字列として利用するにはToStringメソッドで変換する必要があります。

下記は[URLを取得]ボタンがクリックされると現在のページのURLを表示する例です。

VBの例

' フォームロード時の処理
Private Sub Form8_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    'Yahooを開く
    WebBrowser1.Url = New Uri("http://www.yahoo.co.jp")
End Sub

' [URLを取得]ボタンクリック時の処理
Private Sub btnGetURL_Click(sender As System.Object, e As System.EventArgs) Handles btnGetURL.Click
    '★★★現在表示しているページのURLを取得する★★★
    Dim strURL As String = WebBrowser1.Url.ToString()

    'URLを表示する
    MessageBox.Show(strURL)
End Sub

C#の例

// フォームロード時の処理
private void Form8_Load(object sender, EventArgs e)
{
    // Yahooを開く
    webBrowser1.Url = new Uri("http://www.yahoo.co.jp");
}

// [URLを取得]ボタンクリック時の処理
private void btnGetURL_Click(object sender, EventArgs e)
{
    // ★★★現在表示しているページのURLを取得する★★★
    string strURL = webBrowser1.Url.ToString();

    // URLを表示する
    MessageBox.Show(strURL);
}

[Tips][WebBrowser] 現在のWebページを再読み込みする

現在表示されレちるWebページを再読み込みするには、Refreshメソッドを実行します。

下記は[再読み込み]ボタンがクリックされた時にページを再読み込みする例です。

VBの例

' フォームロード時の処理
Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    'Yahooを開く
    WebBrowser1.Url = New Uri("http://www.yahoo.co.jp")
End Sub

' [再読み込み]ボタンクリック時の処理
Private Sub btnRefresh_Click(sender As System.Object, e As System.EventArgs) Handles btnRefresh.Click
    '★★★再読み込みする★★★
    WebBrowser1.Refresh()
End Sub

C#の例

// フォームロード時の処理
private void Form7_Load(object sender, EventArgs e)
{
    // Yahooを開く
    webBrowser1.Url = new Uri("http://www.yahoo.co.jp");
}

// [再読み込み]ボタンクリック時の処理
private void btnRefresh_Click(object sender, EventArgs e)
{
    // ★★★再読み込みする★★★
    webBrowser1.Refresh();
}