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

ページの読込み状況が更新されたときに通知されます。



商標に関する表示