如何根据c#windows窗体应用程序中的项目在listview列中添加Icon?

San*_*nur 1 c# listview winforms

我有一个列表视图和列,我需要在列表视图中添加图标一样,如果我选择该行意味着它应该是开放的邮件图标,如果我不选择行意味着它的,因为它是邮件图标.

你们能告诉我逻辑......

谢谢!

Rom*_*man 6

由于我不知道您如何将项目添加到您的内容ListView,因此我只能为您提供一个示例代码段.添加ImageList到您的解决方案并将这两个图标(已读和未读邮件图标)添加到此列表中.要使用图像将项目添加到列表视图控件,您可以执行以下操作:

ListViewItem item = new ListViewItem();
item.SubItems.Add("item1");
item.SubItems.Add("item2");

item.ImageIndex = 0;
listView1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

要在选择图标时更改图标,您应该使用SelectedIndexChanged事件:

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    listView1.SelectedItems[0].ImageIndex = 1;
}
Run Code Online (Sandbox Code Playgroud)

记得设置SmallImageList属性.您可以使用列表视图属性或以编程方式在设计器中执行此操作:

listView1.SmallImageList = imageList1;
Run Code Online (Sandbox Code Playgroud)

请注意,您必须将ImageIndex属性设置为您的图标所在的索引ImageList,否则它将不会显示任何图标.