将图像添加到ListView控件中的子项

时间:2009-06-19 09:14:32

标签: .net windows

我需要将多个图像添加到列表视图的每一行中的列表视图项目中,每列都有不同的图像吗?

此致 弗兰

3 个答案:

答案 0 :(得分:1)

我不确定这是否解决了实际问题,但如果您只需要两个图标并且可以将它们放在同一列中,则可以使用StateImageList和Large或SmallImageLists在列中显示两个图像。只需在ListViewItem中设置ImageIndex和StateImageIndex,就可以获得两个首先出现状态图像的图像。集合中的第0列将获取图像,但您可以通过DisplayIndex更改它们显示的顺序(因此,列[0]将具有图像,但您可以通过设置将其显示为第5列DisplayIndex为4并在必要时重新排序其他内容)

答案 1 :(得分:0)

首先要问你正在使用哪个版本的控件?最近的一个允许这样的事情。您需要做的就是将图像添加到其关联的ImageList并设置适当的属性。

答案 2 :(得分:0)

我不确定我是否完全按照这个问题。

如果您问如何将两个图像关联到ListView控件的一行中的单个ListViewItem,我认为不可能。我相信每个项目的图像都是该条目的唯一键。

如果您询问如何在ListView控件中创建两个具有相同值的图像的条目,则可以使用以下内容:

ImageList imgList = new ImageList();
listViewControl.SmallImageList = imgList;
imgList.Images.Add("image_one_key", new Icon("filenameOfImageOne"));
imgList.Images.Add("image_two_key", new Icon("filenameOfImageTwo"));
ListViewItem itemOne = new ListViewItem(("Test Object",imgList.Images.IndexOfKey("image_one_key"));
ListViewItem itemTwo = new ListViewItem(("Test Object", imgList.Images.IndexOfKey("image_two_key"));
listViewControl.Items.Add(itemOne);
listViewControl.Items.Add(itemTwo);