作成2013.03.08
- 参照元情報
簡単 WebBrowser の作成は(Visual Basic ガイド ツアー)
「簡単 WebBrowser の作成」にジャンプする
作成方法の詳細は上記を参照願います。
- 簡単 WebBrowser の作成の完成ファイル
簡単 WebBrowser の作成の解説とおりに作業を実施すると、プロジェクトファイル群が完成しますが、若干の修正を加えて作成しました。
完成ファイルは以下からダウンロードできます。
ダウンロード後は解凍してから使用してください。
[簡単 WebBrowser の作成]をダウンロードする。
解凍すると「WebBrowser1」フォルダーがあります。
注(1)「Print」フォルダーの「WebBrowser1.sln」ファイルをダブルクリックすると「Microsoft Visual Basic 2010 Express」が起動します。
注(2)メニューの「ウインド」_「ウインドレイアウトのリセット」で標準に戻ります。
注(3)「ソリューションエクスプローラ」ウインドウ内の「Form1.vb」をダブルクリックすると「デザイン」が表示されます。
注(4)メニューの「表示」_「コード」を選択するとコードが表示されます。
注(5)「WebBrowser1.sln」の動作確認は「デバッグ」_「デバッグ開始」で実行します。デバッグ機能を用いて動作確認を行います。
- WebBrowser1の実行
(1)「Microsoft Visual Basic 2010 Express」のデバッグ機能を使用します。
(2)「デバッグ」_「デバッグ開始」を選択します。
(3)MyWebBrowser画面が表示されます。
(4)URLのTEXTボックスにカーソルをセットして、「Enter」キーを押します。
(5)Googleのトップ画面が表示されます。
(6)検索機能でリンク先を検索して、リンク先にジャンプします。
(7)学習用ですので、こまかな機能はありません。
(8)クローズボックスでプログラムを終了します。
- 新規プロジェクトの作成
(1)新規プロジェクト
新規プロジェクトを作成すると「デザイナー」にはForm1が自動生成されます。
(2) Formコード
Public Class Form1
End Class
が自動生成されます。
(3) パーツレイアウト
Form1にTextBoxとWebBrowserをツールボックスから設定します。
TextBoxにURLのアドレスを設定します。
- 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
- 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だけで動作します。
- 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を設定しないとスクリプトエラーが多発します。
(まいった!!)