たとえば、foreachステートメントを使用してリストビューに画像(指定された画像)を追加するにはどうすればよいですか:
foreach(Video entry in videoFeed.Entries) {
listview1.items.add(entry);
listview1.items.image(imageURL);
}
ListViewItemの画像を表示する必要がある場合は、 ImageListを作成し、画像で塗りつぶし、ImageListを ListView に割り当ててから、リストからどの画像を使用するかをすべてのListViewItemに指示する必要があります。
var listView = new ListView();
// create image list and fill it
var imageList = new ImageList();
imageList.Images.Add("itemImageKey", image);
// tell your ListView to use the new image list
listView.LargeImageList = imageList;
// add an item
var listViewItem = listView.Items.Add("Item with image");
// and tell the item which image to use
listViewItem.ImageKey = "itemImageKey";
ListViewItem の詳細と画像の設定/使用方法については、このMSDN 記事またはこのMSDN チュートリアルを参照してください。
private void Form1_Load(object sender, EventArgs e)
{
List<string> adress = new List<string>()
{
"http://i.telegraph.co.uk/multimedia/archive/02351/Jaguar-F-type-9_2351861k.jpg",
"http://i.telegraph.co.uk/multimedia/archive/02351/Jaguar-F-type-5_2351885k.jpg",
"http://i.telegraph.co.uk/multimedia/archive/02351/Jaguar-F-type-7_2351893k.jpg"
};
ImageList il = new ImageList();
DownloadImagesFromWeb(address, il);
il.ImageSize = new Size(32, 32);
int count = 0;
listView1.LargeImageList = il;
List<string> names = new List<string>() { "1", "2", "3", "4" };
foreach (string s in names)
{
ListViewItem lst = new ListViewItem();
lst.Text = s;
lst.ImageIndex = count++;
listView1.Items.Add(lst);
}
}
private void DownloadImagesFromWeb(List<string> adress, ImageList il)
{
foreach (string img in adress)
{
System.Net.WebRequest request = System.Net.WebRequest.Create(img);
System.Net.WebResponse resp = request.GetResponse();
System.IO.Stream respStream = resp.GetResponseStream();
Bitmap bmp = new Bitmap(respStream);
respStream.Dispose();
il.Images.Add(bmp);
}
}
これは、各画像を手動でコンピューターにコピーするのではなく、URL を指定してその画像を新しいビットマップに配置し、リストに追加するためのオプションです。