C# ListView Item Image

前端 未结 2 1332
轻奢々
轻奢々 2021-01-13 04:16

How can i add a image (specified image) into listview with foreach statement for example:

foreach(Video entry in videoFeed.Entries) {

listview1.items.add(en         


        
相关标签:
2条回答
  • 2021-01-13 04:32

    If what you want is to show an image for your ListViewItem, then you need to create an ImageList, fill it with images, assign the ImageList to the ListView and then tell every ListViewItem which image from the list to use:

    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";
    

    You can read more about ListViewItem and how to set/use images in this MSDN article or in this MSDN tutorial.

    0 讨论(0)
  • 2021-01-13 04:44
    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);
        }
    }
    

    This is an option for you not to copy each image manualy to your computer, instead you provide the url and place that image in a new bitmap and add to the list.

    0 讨论(0)
提交回复
热议问题