- PR -

C# Windowsアプリケーションでフォルダ内の画像をフォームに一覧で表示したい

1
投稿者投稿内容
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-06-17 10:29
いつもお世話になっております。
C#の開発者です。
Windowsアプリケーションにて特定のディレクトリに格納されているjpgファイルを
フォームにサムネイルのような形で表示し、選択できるようにしたいのですがその
ようなことは標準のコントロールで可能でしょうか?どなたかご教授お願い致します。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-06-17 10:40
一番容易なのは、ListViewコントロールを使うことでしょう。
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-06-17 10:58
Hongliang様
返信ありがとうございます。
さっそくListViewコントロールを使用してみたのですが、画像をどのようにして
表示するかがわからずプロパティをさわっている状態です。
もう少し調べてみたいと思います。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-06-17 12:53
引用:

さっそくListViewコントロールを使用してみたのですが、画像をどのようにして
表示するかがわからずプロパティをさわっている状態です。



画像はImageListに登録し、そのインデックスをListViewItemの
ImageIndexプロパティにセットします。

具体的な方法についてはSDKドキュメントのListViewItemの説明を見てください。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
S_Tatsu
ベテラン
会議室デビュー日: 2005/05/13
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2005-06-21 19:09
Jubei様
返信ありがとうございます。
ListViewコントロールむずかしいですね。。
MSの説明を見てみたのですが使い方がいまいちわかりませんでした。
ImageListに画像はGUIで簡単にできたのですが、それを
ListView.LargeImageList = ImageList;
ListView.Show();
とやってみたりしたのですが画像は表示されませんでした。

Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-06-21 19:41
なんか文面からLargeImageListプロパティそのものがListViewの表示アイテム群であると勘違いされてるように取れますが……。

ListViewが表示するのは飽くまでItemsプロパティに格納されたListViewItemたちです。
ですからListViewにアイテムを表示させるにはListViewItemを作成、Itemsプロパティに追加しなければなりません。
ListViewItemにはImageIndexプロパティが存在し、ListViewはそれぞれのListViewItemを表示する際にこのプロパティと一致する番号のイメージを自身のLargeImageListまたはSmallImageListプロパティから取得します。
MSDNのListView.LargeImageListプロパティの解説に、一連の作業のサンプルコードがあります(LargeImageListプロパティの解説なのになぜかViewプロパティがView.Detailsになっていますが……LargeImageListに格納されたイメージリストが使用されるのはView.LargeIconを指定した場合のみです)。
ここでは、ListViewItemを作成するコンストラクタの第二引数に、そのListViewItemのImageIndexを設定するInt32が与えられています。
//もちろんコンストラクタではなく後から設定することも可能です。
1

スキルアップ/キャリアアップ(JOB@IT)