- PR -

ListViewからのItemとLargeImageListの削除

1
投稿者投稿内容
watermelonweb
会議室デビュー日: 2007/09/23
投稿数: 4
投稿日時: 2007-09-23 23:34
C#.netでListViewで画像ファイルのサムネイル表示をするアプリケーションを作成しています。
ListViewのItemsプロパティに画像のファイル名を設定し、ImageListに登録した画像をListVewのLargeImageListに設定しています。
(ソースは参照元記事URLと同じです)

画像をいくつか読み込んだ後、任意で選択した画像を削除するために、
 imageList1.Images.RemoveAt(i);
 listView1.Items.RemoveAt(i);
という処理を追加しました。
(iにはlistviewで選択した画像のインデックスが入ります)

しかしこの処理を行うとListViewに表示されるサムネイルの画像と画像のファイル名がずれてしまいます。

listView1.Items.RemoveAt(i);だけを行うと、サムネイルとファイル名はずれないのですが、imageList1に削除したい画像が残ってしまいます。

画像とファイル名がずれないように削除をするにはどうすればよいのでしょうか?
よろしくお願い致します。
ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2007-09-24 10:39
ListView の Item が LargeImageList のインデックスでアイコンを設定するのではなく、キーでアイコンを設定すればいいと思います。
そうすれば LargeImageList から画像を削除しても、インデックスを気にする事が無くなります。
watermelonweb
会議室デビュー日: 2007/09/23
投稿数: 4
投稿日時: 2007-09-24 12:22
ダッチさん、ご回答ありがとうございます。

画像読み込み時にキーを設定し、削除するときにキーを使用したら正しく削除できました。
ありがとうございました。
1

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