13章:チュートリアル12:簡単 WebBrowser の作成

    作成2013.03.08

  1. 参照元情報
     簡単 WebBrowser の作成は(Visual Basic ガイド ツアー)
    「簡単 WebBrowser の作成」にジャンプする
     作成方法の詳細は上記を参照願います。


  2. 簡単 WebBrowser の作成の完成ファイル
     簡単 WebBrowser の作成の解説とおりに作業を実施すると、プロジェクトファイル群が完成しますが、若干の修正を加えて作成しました。
     完成ファイルは以下からダウンロードできます。
     ダウンロード後は解凍してから使用してください。
      [簡単 WebBrowser の作成]をダウンロードする。
     解凍すると「WebBrowser1」フォルダーがあります。
    注(1)「Print」フォルダーの「WebBrowser1.sln」ファイルをダブルクリックすると「Microsoft Visual Basic 2010 Express」が起動します。
    注(2)メニューの「ウインド」_「ウインドレイアウトのリセット」で標準に戻ります。
    注(3)「ソリューションエクスプローラ」ウインドウ内の「Form1.vb」をダブルクリックすると「デザイン」が表示されます。
    注(4)メニューの「表示」_「コード」を選択するとコードが表示されます。
    注(5)「WebBrowser1.sln」の動作確認は「デバッグ」_「デバッグ開始」で実行します。デバッグ機能を用いて動作確認を行います。


  3. WebBrowser1の実行
    (1)「Microsoft Visual Basic 2010 Express」のデバッグ機能を使用します。
    (2)「デバッグ」_「デバッグ開始」を選択します。
    (3)MyWebBrowser画面が表示されます。
    (4)URLのTEXTボックスにカーソルをセットして、「Enter」キーを押します。
    (5)Googleのトップ画面が表示されます。
    (6)検索機能でリンク先を検索して、リンク先にジャンプします。
    (7)学習用ですので、こまかな機能はありません。
    (8)クローズボックスでプログラムを終了します。


  4. 新規プロジェクトの作成
    (1)新規プロジェクト
     新規プロジェクトを作成すると「デザイナー」にはForm1が自動生成されます。

    (2) Formコード
    Public Class Form1
    End Class
    が自動生成されます。

    (3) パーツレイアウト
     Form1にTextBoxとWebBrowserをツールボックスから設定します。
     TextBoxにURLのアドレスを設定します。


  5. Public Class Form1の全コード
    Public Class Form1
        Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            If e.KeyCode = Keys.Enter Then
                WebBrowser1.ScriptErrorsSuppressed = True
                WebBrowser1.Navigate(TextBox1.Text)
            End If
        End Sub
    
        Private Sub WebBrowser1_Navigated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
            TextBox1.Text = WebBrowser1.Url.ToString()
            Dim Title As String = WebBrowser1.DocumentTitle
        End Sub
    End Class
    


  6. Private Sub TextBox1_KeyDown
        Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            If e.KeyCode = Keys.Enter Then
                WebBrowser1.ScriptErrorsSuppressed = True
                WebBrowser1.Navigate(TextBox1.Text)
            End If
    
    (1)Private Sub TextBox1_KeyDownはTextBox1.KeyDownイベントで呼び出されます。
    (2) If e.KeyCode = Keys.Enter Thenは「Enter」キーが押された場合、下記を実行します。
    (3)WebBrowser1.ScriptErrorsSuppressed = Trueはスクリプトエラー防止用のコードでTrueを設定しないとエラーが多発する場合があります。
    (4)WebBrowser1.Navigate(TextBox1.Text)はTextBox1に設定されたURLを参照してハイパージャンプします。
    (5)基本的にはWebBrowser1.Navigateだけで動作します。


  7. Private Sub WebBrowser1_Navigated
        Private Sub WebBrowser1_Navigated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
            TextBox1.Text = WebBrowser1.Url.ToString()
            Dim Title As String = WebBrowser1.DocumentTitle
        End Sub
    
    (1)Private Sub WebBrowser1_Navigatedはブラウザでリンク先をクリックしたときに呼び出されます。
    (2)TextBox1.Text = WebBrowser1.Url.ToString()はTextBox1にリンク先のURLを設定します。
    (3)Dim Title As String = WebBrowser1.DocumentTitleは変数Titleにリンク先のタイトルを設定します。

    感想:
    (1)非常に簡単なコードでブラウザができます。
    (2)スクリプトエラーで苦労しました。
    (3)スクリプトエラーの原因はHTMLファイルの改行コードの差異によるものでした。
    (4)HTMLファイルの作成は、通常テキストエディタを使用しますが、改行コードは自動的に挿入されます。ウインドウズパソコンでは、 CR(復帰)'0x0d'、 LF(改行)'0x0a'の順のコードで改行を判定していますが、マック系パソコンでは LF(改行)'0x0a'のコードのみで改行を判定しています。
    (5)マック系パソコンの LF(改行)'0x0a'のみでも通常表示は問題が無いのですが、このコードにおいては、WebBrowser1.ScriptErrorsSuppressed = Trueを設定しないとスクリプトエラーが多発します。
    (まいった!!)








14章:チュートリアル13:WPF アプリケーション の作成に行く。

トップページに戻る。