Top_Page

Visual Studio 2008 Standard EditionのWebBrowserコントロール


1.WebBrowserコントロール

Visual Studioには、高機能なブラウザコントロールが標準で付いているので、これを配置するだけで簡易ブラウザが出来上がる。
適当なフォームにブラウザコントロールを配置し、とりあえずURLをプロパティに指定すると、実行するだけでページが表示される。
基本的な機能は用意されているので、メニューさえ用意すれば基本的な操作はすぐにできるようになる。
これまた、コーディングは最小限でもそれなりに動作するモノはできてしまうわけだ。

2.使ってみる

まずは、適当なフォームにコントロールを貼り付けてみる。
WebBrowserコントロールの貼り付け

コントロールのプロパティにURLを指定しておくだけで既にページを見る事ができるし、リンクを選択すれば、そのページに移動する事もできる。
デフォルトで右クリックのコンテキストメニューが活きているので基本的な操作は既にできる状態になっている。

ちょっとしたブラウザとして体裁を整える為にメニューバーを追加する事にし、ツールボックスからmenuStripをドロップする。
ついでにツールバーも追加するべくtoolStripもドロップする。

メニューは、ページの保存や印刷、ページ設定などコントロールの持つ機能を適当に呼び出すように追加してみる。
ツールバーには、戻るや進むのボタンと、URLを直接入力したり、現在のページのURLを表示する為のテキストボックスを用意する。
どれもメソッドが用意されているので呼び出すだけだが。

URL表示のテキストボックスを用意しようと思ったが、履歴の残る方が良さそうなのでコンボボックスにしてみる。

メニューバーとツールバーを適当に追加するとこんな感じになる。↓ここまでコーディングは無し。
メニューバーとツールバーの追加

ツールバーのボタンイベントには以下を適当に指定。
webBrowser1.GoBack();
webBrowser1.GoForward();
webBrowser1.Refresh();
webBrowser1.Stop();
webBrowser1.GoHome();
コンボボックスは直接入力すればそのURLに移動し、ページを移動したら、移動先のURLをリストから検索し、無ければ追加し、あればそれを選択状態にするようにコードを追加する。
これで移動したページのURLがリストされる。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    int intMatch = new int();

    this.Text = webBrowser1.DocumentTitle.ToString();

    intMatch = toolStripComboBox1.FindStringExact(webBrowser1.Url.ToString());
    if (intMatch != -1)
    {
        toolStripComboBox1.SelectedIndex = intMatch;
    }
    else
    {
        toolStripComboBox1.Items.Insert(0, webBrowser1.Url.ToString());
        toolStripComboBox1.SelectedIndex = 0;
    }
}
おっと、何の考えも無しにDocumentCompletedイベントに追加したけど、不正なURLだったりした時とか、考えてなかった。入力時にチェックしないと駄目か。

コントロールには、ページを保存するメソッドもあるのでメニューから呼び出せるようにしてみる。
webBrowser1.ShowSaveAsDialog();
Webページの保存

ページ設定や印刷プレビュー、印刷と基本的に呼び出すだけで使用できる機能が揃っている。

ページ設定はShowPageSetupDialogで、
webBrowser1.ShowPageSetupDialog();
ページ設定

印刷プレビューはShowPrintPreview、
webBrowser1.ShowPrintPreviewDialog();
印刷プレビュー

印刷にはShowPrintDialog、
webBrowser1.ShowPrintDialog();
印刷

現在のドキュメントのプロパティは、ShowPropertiesDialog、
webBrowser1.ShowPropertiesDialog();
ドキュメントプロパティ

ホームボタンを操作するとホームに設定されているページに移動するが、このようなシステムで共通に設定されている部分は、WebBrowserコントロールから直接操作するメソッドは無いようなので、コントロールパネルから該当する機能を呼び出す。
ヘルプから検索するが、見つからない。hoge.cplを実行すれば良いのかな?っと思ってググるとここにそのものずばりが。
System.Diagnostics.Process.Start("inetcpl.cpl");
インターネットのプロパティ

後はブックマークの機能を実装してやれば、体裁は整ってしまう。

3.殆どする事がない。

必要そうな機能は、殆ど用意されているので、機能を呼び出すだけで大概の事はできてしまう。
エラー処理とか考えなければ、これぐらいはすぐ出来てしまう。いや〜、便利なものだ。
これくらいなら、作成しているより、アイコンなどを探している時間の方が長いかも。


Top_Page
(C) Copyright 2000-2010 KaZuDo