|
.NET TIPS ListViewコントロールでサムネイル画像を一覧表示するには?デジタルアドバンテージ 遠藤 孝信2005/08/12 |
![]() |
|
|
|
4種類の表示スタイルを持つListViewコントロール(System.Windows.Forms名前空間)では、その表示スタイルを「大きなアイコン」にすることにより、サムネイル画像を一覧表示することができる。本稿ではその方法について解説し、以下のような画面のサンプル・アプリケーションを作成する。
![]() |
| ListViewコントロールによりサムネイル画像を一覧表示するアプリケーション |
| ボタンがクリックされると、特定のディレクトリに格納されているJPEG画像をListViewコントロールにより一覧表示する。 |
ImageListコンポーネントとListViewItemオブジェクト
「大きなアイコン」表示のListViewコントロール(ViewプロパティをView.LargeIconに設定)に画像を表示するためには、まずImageListコンポーネントとListViewItemオブジェクトとの2つを準備する必要がある。ImageListコンポーネントは複数の画像を保持することのできるコレクション・オブジェクトである。
これら2つに関してポイントをまとめると次のようになる。
-
ImageListコンポーネントのインスタンスをListViewコントロールのLargeImageListプロパティに設定する
-
ListViewコントロールで表示される各項目は、ListViewItemオブジェクトである
-
各ListViewItemオブジェクトには、その表示名とImageListコンポーネント内の画像のインデックス番号を指定する
つまり、画像を表示するには、ImageListコンポーネントに画像を追加し、その画像のインデックス番号を持つListViewItemオブジェクトを作成し、それをListViewコントロール(のImagesプロパティ)に追加すればよい。
サムネイル画像を一覧表示するアプリケーション
以下に、冒頭で示したアプリケーションのコードを示す。このコードを実行するには、Visual Studio .NETでWindowsアプリケーションを新規作成し、ListViewコントロール、Buttonコントロール、ImageListコンポーネントの3つをフォームに配置しておく必要がある。そして、配置したButtonコントロールのClickイベントのハンドラとして、以下のbutton1_Clickメソッド(VB.NET版ではButton1_Clickメソッド)を実装する。
|
||
| JPEG画像を読み込みListViewコントロールにサムネイル画像として表示するコード(上:C#、下:VB.NET) |
ListViewコントロールで表示される画像のサイズはImageListコンポーネントのImageSizeプロパティにより決まり、個々の画像ごとに変えることができない。そのためこのコードでは、あらかじめJPEG画像を縮小(あるいは拡大)したサムネイル画像を作成している。これを行っているのがcreateThumbnailメソッドである。
ちなみに、ListViewコントロールでは画像の表示間隔も変更できない。この表示間隔は、コントロール・パネルの「画面」プロパティの[デザイン]タブにある「アイコンの表示間隔(横)」および「アイコンの表示間隔(縦)」で設定されている値により決定される。
なお、上記のコードではListViewItemオブジェクトを明示的に作成していないが、ListViewコントロールのItemsプロパティに対して呼び出しているAddメソッドは、内部的には、パラメータとして指定された表示名と画像のインデックス番号によりListViewItemオブジェクトを作成し、それをItemsプロパティに追加する。![]()
| カテゴリ:Windowsフォーム 処理対象:ListViewコントロール 使用ライブラリ:ListViewコントロール(System.Windows.Forms名前空間) 使用ライブラリ:ListViewItemクラス(System.Windows.Forms名前空間) 使用ライブラリ:ImageListコンポーネント(System.Windows.Forms名前空間) |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



