C# ListView项目图像

10
如何在foreach语句中向listview添加指定的图像 例如:
foreach(Video entry in videoFeed.Entries) {

listview1.items.add(entry);

listview1.items.image(imageURL);

}

仅限C#,Express。 - Abdülber Kaya
2个回答

18

如果您想在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以及如何设置/使用图像的更多信息。


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);
    }
}

这是一个选项,让您不必手动复制每个图像到您的计算机上,而是提供URL并将该图像放置在新的位图中,并添加到列表中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接