連載 .NETでWindowsアプリを作ろう第3回 画像検索ツール本体をマルチスレッドで作ろうデジタルアドバンテージ 遠藤 孝信2005/10/29 |
|
|
■サムネイル画像コントロールの登録
続いては、連載第2回目で作成したサムネイル画像コントロールを今回のソリューションから使えるようにします。
ここでは、第2回目で作成済みのサムネイル画像コントロールのプロジェクト(C#版、VB.NET版)のzipファイルを展開し、ソリューション・ファイルである「ThumbViewerControl.sln」を開きます。そしてVS.NETが起動したらビルドを行ってください。これにより「ThumbViewerControl.dll」が出来上がります。このDLLファイルさえできれば、こちらのVS.NETは不要ですので閉じてください。
次に、いまビルドしたコントロール(ThumbViewerControl.dll)をツールボックスに登録します。アプリケーション本体の方のVS.NETに戻り、ツールボックスを右クリックして[アイテムの追加と削除]を実行すると以下のようなダイアログが表示されます。
ツールボックスにコントロールを登録するためのダイアログ |
ツールボックスを右クリックして[アイテムの追加と削除]を実行して開く。ここで[参照]ボタンをクリックし、ThumbViewerControl.dllを選択する。 |
ここで右下にある[参照]ボタンをクリックして、いま作成したThumbViewerControl.dllを選択します。これにより、以下の画面のようにツールボックスにサムネイル画像コントロールである「ThumbViewer」が登録されているはずです。
ツールボックスに登録されたサムネイル画像コントロール |
ここではツールボックスの[マイ・ユーザー・コントロール]タブにコントロールを登録した。 |
このようにしてツールボックスに登録しておくと、コントロールをドラッグ&ドロップしてフォームに配置できるようになります。
■サムネイル画像コントロールのテスト
ここでサムネイル画像コントロールもテストしておきましょう。
先ほどと同様に、System.Net名前空間とSystem.IO名前空間への参照をコードの先頭部分に追加してから、まず画像ダウンロードのための次のメソッドを記述します。
|
||
指定されたURLの画像をダウンロードするメソッド(上:C#、下:VB.NET) | ||
このメソッドは、パラメータで指定されたURLにある画像を読み取り、画像オブジェクトであるImageオブジェクト(System.Drawing名前空間のImageクラスのオブジェクト)を作成して返す。パラメータurlで示されるURLにある画像が存在しない場合(ダウンロードに失敗した場合)にはnull(VB.NETではNothing)を返す。 |
次に、ツールボックスからサムネイル画像コントロールとボタンを次の画面のように配置します。
ボタンとサムネイル画像コントロールを配置したフォーム |
そして、配置したボタンをダブルクリックして次のようなコードを記述します。
|
||
配置したボタンのイベント・ハンドラ(上:C#、下:VB.NET) | ||
画像を検索し、その結果をサムネイル画像コントロールに追加する。 |
実行してボタンをクリックすると、実際に検索が行われて次の画面のようにサムネイル画像が表示されればOKです。
上記コードの実行例 |
ボタンをクリックすると検索が行われ、サムネイル画像が一覧表示される。 |
冒頭で述べたように、すべてのサムネイル画像が表示されるまでアプリケーションが固まったままになっていることも確認できると思います。
以上で準備は完了です。いま配置したコントロールとボタンのClickイベント・ハンドラを削除して、本番用の画面設計をしていきましょう。
INDEX | ||
.NETでWindowsアプリを作ろう | ||
第3回 画像検索ツール本体をマルチスレッドで作ろう | ||
1.Google用プラグイン・プロジェクトの追加とテスト | ||
2.サムネイル画像コントロールの登録とテスト | ||
3.アプリケーションの画面設計とコーディング | ||
4.マルチスレッドによる検索処理 | ||
「.NETでWindowsアプリを作ろう 」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|