如何使用 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";
您可以在此MSDN 文章或此MSDN 教程中阅读有关 ListViewItem 以及如何设置/使用图像的更多信息。
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 并将该图像放置在新的位图中并添加到列表中。