VB.NETで簡単なWebブラウザを作る
(その1)
Visual Basic で .NET FrameworkのWebBrowserコントロールを使用して簡単なWebブラウザを作ります。
基本的にはウインドウにWebBrowserコントロールを貼り付ければ完成です。
但し、表示しているWebページから新しいウインドウでWebページを開く場合、既存のWebBrowserコントロールではInternet Explorerで表示してしまうので、WebBrowserコントロールを拡張して、新しいウインドウもサンプルプログラムで表示するようにします。
C#版は『C#で簡単なWebブラウザを作る』にあります。
作成するサンプルプログラムは以下の仕様にします。
- URLを入力して[移動]ボタンを押すと、指定したURLのページを表示する。
- ナビゲーションの履歴を利用して、[戻る]ボタンで1つ前のページへ移動し、[進む]ボタンで次のページを表示する。
- ホームページ読込み中に[中止]ボタンを押したら、ホームページの読込みを中止する。
- [更新]ボタンで現在表示中のページの再読込みを行う。
- [Home]ボタンでユーザーが設定しているカレント・ページを表示する。
- 表示しているWebページから新しいウインドウでWebページを開く場合、別プロセスでサンプルプログラムを起動して新しいウインドウのWebページを表示する。
サンプルプログラムの外観は以下のようにします。
WebBrowserクラスの主なメソッドとプロパティは以下のとおりです。
| クラス名 | System.Windows.Forms.WebBrowser |
|---|---|
| 基本型 | WebBrowserBase |
| メソッド名 | 説明 |
| Navigate | 指定されたURLのページを表示します。 |
| GoBack | 履歴がある場合に、1つ前のページに移動します。 |
| GoForward | 履歴がある場合に、次のページに移動します。 |
| GoHome | カレントページに移動します。 |
| GoSearch | 検索ページに移動します。 |
| Refresh | ページの再読込みを行います。 |
| Stop | ページの読込みを中止します。 |
| CreateSink | イベント処理クライアントに、ActiveX コントロールをアタッチします。 |
| DetachSink | CreateSink()でアタッチされたイベント処理クライアントを解放します。 |
| ShowPageSetupDialog | [ページ設定]ダイアログを開きます。 |
| ShowPropertiesDialog | [プロパティ]ダイアログを開きます。 |
| ShowSaveAsDialog | [Webページの保存]ダイアログを開きます。 |
| ShowPrintPreviewDialog | [印刷プレビュー]ダイアログを開きます。 |
| ShowPrintDialog | [印刷]ダイアログを開きます。 |
| プロパティ名 | 説明 |
| Url | 現在のページのURLを設定します。 |
| CanGoBack | ナビゲーション履歴に前のページがあるかどうかを取得します。 |
| CanGoForward | ナビゲーション履歴に次のページがあるかどうかを取得します。 |
| Document | 表示されている Web ページに対応した HtmlDocumentクラスのオブジェクトを取得します。 |
| DocumentStream | 表示されている Web ページに対応したStreamクラスのオブジェクトを設定または取得します。 |
| DocumentText | 表示されている Web ページのソースコードを取得します。 |
| DocumentTitle | 表示されている Web ページのタイトルを取得します。 |
| DocumentType | 表示されている Web ページの種類を取得します。 |
| EncryptionLevel | 表示されている Web ページの暗号化メソッドの値を取得します。 |
| IsBusy | ページの読み込み中かどうかを取得します。 |
| IsOffline | オフライン モードかどうかを取得します。 |
| IsWebBrowserContextMenuEnabled | 右クリックでのポップアップメニューの有効/無効を設定します。 |
| ScriptErrorsSuppressed | スクリプト エラー ダイアログを表示するかどうかを設定します。 |
| StatusText | WebBrowserコントロールのステータスを取得します。 |
| WebBrowserShortcutsEnabled | ショートカットキーの有効/無効を設定します。 |
| イベント名 | 説明 |
| Navigated | ページの変更が開始されるときに通知されます。 |
| Navigating | ページの変更が終了されたときに通知されます。 |
| NewWindow | 新しいウィンドウが開く前に通知されます。 |
| CanGoBackChanged | CanGoBackプロパティの値が変更されたときに通知されます。 |
| CanGoForwardChanged | CanGoForwardプロパティの値が変更されたときに通知されます。 |
| DocumentCompleted | WebBrowser コントロールでドキュメントの読み込みが終了したときに通知されます。 |
| DocumentTitleChanged | DocumentTitle プロパティの値が変更された場合に通知されます。 |
| EncryptionLevelChanged | 暗号化されたサイトに移動したとき、またはそのサイトを離れたときに通知されます。 |
| FileDownload | ファイルがダウンロードされるときに通知されます。 |
| ProgressChanged | ページの読込み状況が更新されたときに通知されます。 |