C#で簡単なWebブラウザを作る
(その1)
『VB.NETで簡単なWebブラウザを作る』で作成したサンプルコードのC#版です。
C# で .NET FrameworkのWebBrowserコントロールを使用して簡単なWebブラウザを作ります。
基本的にはウインドウにWebBrowserコントロールを貼り付ければ完成です。
但し、表示しているWebページから新しいウインドウでWebページを開く場合、既存のWebBrowserコントロールではInternet Explorerで表示してしまうので、WebBrowserコントロールを拡張して、新しいウインドウもサンプルプログラムで表示するようにします。
作成するサンプルプログラムは以下の仕様にします。
- 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 | ページの読込み状況が更新されたときに通知されます。 |