Search code examples
c#imagelistviewthumbnailslistviewitem

Download image thumbnails and show them in ListView C#


I'm trying to download thumbnails and show them in a listview. What am I doing wrong ?

ListView loads but it doesn't show any thumbnails.

 using (var webClient = new WebClient())
        {
            foreach (var thumb in imgFiles.Item1)
            {
                byte[] data = webClient.DownloadData(thumb);
                using (MemoryStream imageData = new MemoryStream(data))
                {
                    Image img = Image.FromStream(imageData);
                    thumbList.Images.Add(img);
                }
            }
        }

 for (var i = 0; i < thumbList.Images.Count; i++)
        {
            ListViewItem lvi = new ListViewItem();
            lvi.ImageIndex = i;
            lvi.SubItems.Add("test");
            lvi.SubItems.Add("test1");

            lvi.Text = i.ToString();

            listViewLinks.Items.Add(lvi);
        }
        listViewLinks.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);

ListView loads without images


Solution

  • You can try with the below code.

    listView1.SmallImageList = thumblist;
    ListViewItem lvi = new ListViewItem();
    lvi.SubItems.Add("A");
    lvi.SubItems.Add("B");
    lvi.SubItems.Add("C");
    lvi.ImageIndex = 2; // this will display YourImageList.Images[2] in the first column
    listView1.Items.Add(lvi);
    

    Are you able to getting ImageList.