C#WinForms中listview第一列中的图像

时间:2016-04-01 01:41:40

标签: c# winforms listview

我对项目有点问题。

正如您在图片中看到的那样,我有一个ListView,其中一些数据来自班级人员的对象列表。此类还有一个属性,用于保留用户选择的图像的路径,该路径应显示在ListView的第一列,其中显示为teste。

enter image description here

我尝试过以下代码:

ImageList imgs = new ImageList();
imgs.ImageSize = new Size(40, 40);
foreach (user list in Global.userslist)
{
    imgs.Images.Add(Image.FromFile(list.Photo));
}
listview1.SmallImageList = imgs;
foreach (user list in Global.userslist)
{
    imageList1.Images.Add(Image.FromFile(list.Photo));
    listview1.Items.Add(new ListViewItem(new string[] { "teste", Convert.ToString(list.Id), lista.Name, list.Birthday.ToString("dd/MM/yyyy") }));
}

1 个答案:

答案 0 :(得分:2)

您应该为项目设置ImageIndexImageKey属性以显示图片。

您可以传递constructorListViewItem中的索引或键。您也可以使用ImageIndexImageKey属性分配值。

示例

在您的代码中,您可以在将图片密钥添加到ImageList时设置图片密钥:

imgs.Images.Add(list.Id.ToString(), Image.FromFile(list.Photo));

然后在创建项目时,使用ImageKey

listview1.Items.Add(new ListViewItem(new string[] { ... ... }, list.Id.ToString()));