Share via


ブログビューワーの作り方 ~Windows Form編~

マイクロソフトの田中達彦です。
Windows API Code Pack、フォトギャラリーのプラグインと、連載が終わった時にブログビューワーというものを提供しています。
前回、下記記事でWPF版ブログビューワーの作り方を説明しました。
https://blogs.msdn.com/b/ttanaka/archive/2010/11/10/wpf.aspx
今回は、Windowsフォーム版ブログビューワーの作り方を説明します。

今回も、開発ツールはVisual Studio 2010、開発言語はC#を使用します。

手順1 : 新規プロジェクトの作成
Visual Studio 2010を起動し、メニューの[ファイル]-[新規作成]-[プロジェクト]を選択します。Windowsフォームアプリケーションを選択し、必要に応じてプロジェクトの名前やフォルダーを変更し、[OK]ボタンを押します。

手順2 : タブコントロールの貼り付け
ツールボックスの中にあるTabControlをフォーム上にドラッグアンドドロップします。
貼り付けたTabControlを選択している状態で、プロパティウィンドウを使用してDockプロパティをFillに変更します。

手順3 : ウィンドウを表示させるときのイベントハンドラの実装
フォームの何も貼り付けていない部分 (Form1と書かれているところあたり) をダブルクリックし、Form1_Loadというイベントハンドラを作成します。
その中には、以下の青字の部分のコードをコピペします。

private void Form1_Load(object sender, EventArgs e)
{
tabControl1.TabPages.Clear();

string url = "";
string tabname = "";

foreach (string str in URLlist)
{
if (url == "")
{
url = str;
}
else if (tabname == "")
{
tabname = str;

TabPage newpage = new TabPage(tabname);
tabControl1.TabPages.Add(newpage);

WebBrowser viewer = new WebBrowser();
viewer.Dock = DockStyle.Fill;
viewer.Navigate(url);

newpage.Controls.Add(viewer);

url = "";
tabname = "";
}
}
}

手順 4 : データの用意
Form1クラスの中に、以下のフィールドを用意します。

private string[] URLlist =
{
"https://blogs.msdn.com/b/ttanaka/archive/2010/10/26/amp-plug-in-1.aspx","1",
"https://blogs.msdn.com/b/ttanaka/archive/2010/10/27/amp-plug-in-2.aspx","2",
"https://blogs.msdn.com/b/ttanaka/archive/2010/10/28/amp-plug-in-3.aspx","3",

"https://blogs.msdn.com/b/ttanaka/","トップページ"
};

フィールドに入れるデータとしては、URLとタブに表示させる名前を交互に用意します。

あとはビルドして実行するだけです。
手順4のURLのデータの部分を見たいURLに変えれば、オリジナルのビューワーの完成です。
注意する点は、WPF版と同じです。
用意したURLの数だけ一気にページを読み込みに行きますので、通信速度が遅い環境だとちょっと厳しいことと、WebBrowserコントロールが結構メモリを使うため、用意したURLが多いとかなりメモリを消費します。

マイクロソフト
田中達彦