C# 向 ListViewItem 添加图像(而不是文本)

C# add an image (instead of text) to ListViewItem

我正在像这样动态更新 ListView:

ListViewItem item = new ListViewItem();
item.Text = "Text1";
item.SubItems.Add("Text2");
item.SubItems.Add("Text3");
item.SubItems.Add("Text4");
item.Tag = i;
listView.Items.Add(item);

现在我想要一个小图标,而不是 Text4,我将从 url 动态获取。我阅读了很多线程并尝试了很多东西 - 但我无法让它工作..

您需要在您的函数中实现 ImageList。 代码:

// get picture resource
WebClient _web = new WebClient();
byte[] _data = _wb.DownloadData("http://www.myzony.com/usr/uploads/2017/03/3197402477.png");
MemoryStream _ms = new MemoryStream(_data);
// Loaded to imagelist
ImageList list = new ImageList();
list.Images.Add("pic1",Image.FromStream(_ms));
// bind listview
listView1.SmallImageList = list;

ListViewItem _item1 = new ListViewItem();
_item1.Text = "Test";
_item1.SubItems.Add("Test2");
_item1.SubItems.Add("pic1");
_item1.ImageKey = "pic1";
listView1.Items.Add(_item1);

效果图: