ListView子项目中的图像
如何为listview子项添加图像而不是文本? 喜欢http://sofzh.miximages.com/c%23/2mzz6s6.png ?
这里通常是我如何添加一个字符串:
ListViewItem item = new ListViewItem("A"); item.SubItems.Add("B"); item.SubItems.Add("C"); listView1.Items.AddRange(new ListViewItem[] { item });
我正在使用带有WinForms的.NET 2.0。 另外,请不要将我链接到具有高级.NET listview控件的文章。 我想坚持使用MSVC中的标准版。
如果您需要将图标放在第一列中,则可以通过创建包含要显示的图像的ImageList
,将其分配给ListView
的SmallImageList
属性并为该项设置适当的ImageIndex
来轻松完成。 像这样:
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);
在WPF中,您可以轻松地做到这一点,
在Windows窗体中,您可以阅读
http://www.codeproject.com/KB/combobox/imagelistbox.aspx
作为你的样本。
主要想法是
首先,将列表框设置为ownerdraw
然后,在itemdraw事件中(或者是drawitem?)抓取你的图像并在分配的空间中绘制它( e.Graphics.DrawImage ),然后绘制旁边项目的测试( e.Graphics.DrawString )