【发布时间】:2019-09-25 08:00:28
【问题描述】:
我尝试将图像添加到我的第一列(以后可能会更改为另一列,它现在在第一列),到目前为止我已经这样做了
if (item.Index == 0)
{
item.ImageGetter = delegate (object RowObj)
{
return ((RowObjectModel)RowObj).ImageToShow.ToString();
};
}
这部分在开始时,我使用自定义标题样式并将其应用于构造函数,同时我也执行 ImageGetter 部分。我也这样设置我的 SmallImageList
ImageList IList = new ImageList();
IList.Images.Add("MyIcon", Properties.Resources.MyIcon);
mainForm.objListview.SmallImageList = IList;
这段代码有 2 个问题,首先我无法设置图像。它没有显示在我的列表视图中。 我要做到这一点是这样的:
(objListview.GetItem(z).RowObject as RowObjectModel).ImageToShow = ThumbnailImages.MyIcon;
我的枚举是这样的:
public enum ThumbnailImages
{
NULL = 0,
MyIcon = 1,
MyIcon2 = 2,
MyIcon3 = 3,
MyIcon4 = 4,
MyIcon5 = 5
}
第二个问题是我根本不知道如何在同一行的同一列中添加第二张图像。我什至不确定这是否可能。但我必须以某种方式做到这一点,所以我对任何想法持开放态度。
编辑: 好的,我找到了第一个问题的解决方案。我没有使用 UpdateObject/UpdateObjects 方法。我用正确的图像标记了我的所有物品,它们应该显示并使用这种方法,一切正常。现在我只需要找到一种方法在 1 个单元格中同时显示 2 个图像。
编辑 2: 关于我的第二个问题,我发现了这个类--> ImagesRenderer
http://objectlistview.sourceforge.net/cs/ownerDraw.html#imagesrenderer
但到目前为止我找不到任何可行的解决方案,而且我不知道它是如何工作的?
【问题讨论】:
标签: c# objectlistview