Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有图片按钮的ObjectListView_C#_Winforms_Objectlistview - Fatal编程技术网

C# 带有图片按钮的ObjectListView

C# 带有图片按钮的ObjectListView,c#,winforms,objectlistview,C#,Winforms,Objectlistview,我想在WinForms中创建一个具有删除按钮的listView,如下所示: 经过一番搜索,ObjectListView似乎是一种选择。经过很多努力,我有文字显示我的项目,但我不能让图标显示出来。我尝试了ImageAspectName路线和ImageGetter路线-没有成功。以下是我获得的一些示例代码: 我的班级: public class item { public string Title { get; set; } public Image RemoveButton {

我想在WinForms中创建一个具有删除按钮的listView,如下所示:

经过一番搜索,ObjectListView似乎是一种选择。经过很多努力,我有文字显示我的项目,但我不能让图标显示出来。我尝试了
ImageAspectName
路线和
ImageGetter
路线-没有成功。以下是我获得的一些示例代码:

我的班级:

public class item
{
    public string Title { get; set; }
    public Image RemoveButton { get; set; }
}
以及将项目放入ObjectListView的代码:

item listItem1 = new item();
listItem1.Title = "this is a test title";
listItem1.RemoveButton = Properties.Resources.Remove;
List<item> listItems = new List<item>() { listItem1 };
objectListView1.SetObjects(listItems);
olvColumn2.ImageGetter += delegate (object rowObject) { return ((item)rowObject).RemoveButton; };
我也尝试过使用不同大小的相同图像(16x16而不是256x256),但没有效果


这是我的一个简单测试项目,以防有人想告诉我我做错了什么:

可能重复@Rev1.0我知道这看起来是重复的(我的问题和那个问题都想要相同的最终目标),但他们的问题只是一般性的“我怎么做”,而我正在努力让图像显示出来(请重新阅读我文章末尾的问题)从资源中分配图像应该是这样的。您设置了“OwnerDraw”吗OLV?IIRC上的属性显示图像是必需的。你确定要将“删除”按钮作为数据对象的一部分吗?为什么?不是所有行都相同吗?这似乎很奇怪。是的,我已将OwnerDraw属性设置为true。所有行的按钮都相同-那么,有更好的方法设置它吗?
ImageList imageList = new ImageList();
imageList.Images.Add(Properties.Resources.Remove);
objectListView1.SmallImageList = imageList;