C#ListView项目图片

Abd*_*aya 5 c# foreach listview winforms

如何使用foreach语句将图像(指定的图像)添加到listview中,例如:

foreach(Video entry in videoFeed.Entries) {

listview1.items.add(entry);

listview1.items.image(imageURL);

}
Run Code Online (Sandbox Code Playgroud)

pas*_*sty 11

如果你想要的是显示图像为您ListViewItem的,那么你需要创建一个ImageList中,用图像填充它,将分配的ImageListListView控件,然后告诉每一个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";
Run Code Online (Sandbox Code Playgroud)

您可以在本MSDN文章或本MSDN教程中阅读有关ListViewItem以及如何设置/使用图像的更多信息.


ter*_*zio 5

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以选择此选项,无需将每个图像手动复制到计算机,而是提供 URL 并将该图像放置在新位图中并添加到列表中。