Images in ListView subitem

rayanisran picture rayanisran · Nov 26, 2011 · Viewed 29.9k times · Source

How to add an image instead of text for a listview subitem? Like http://i44.tinypic.com/2mzz6s6.png ?

here is normally how I add a string:

ListViewItem item = new ListViewItem("A");
item.SubItems.Add("B");
item.SubItems.Add("C");
listView1.Items.AddRange(new ListViewItem[] { item });

I am using .NET 2.0 with WinForms. Also, please don't link me to articles with superior .NET listview controls. I want to stick to the standard one in MSVC.

Answer

Dmitrii Erokhin picture Dmitrii Erokhin · Nov 26, 2011

If you need the icon to be in the first column, then it could be easily done by creating an ImageList with images you want to display, assigning it to the SmallImageList property of the ListView and setting appropriate ImageIndex for the item. Like this:

listView1.SmallImageList = YourImageList;
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);