繁体   English   中英

如何根据C#Windows Form应用程序中的项目在Listview列中添加Icon?

[英]How do I add Icon in listview columns according to the items in c# windows form application?

我有一个列表视图和列,我需要在列表视图中添加图标,如果我选择该行意味着它应该是打开的邮件图标,如果我没有选择该行意味着它是打开的邮件图标。

你们能告诉我逻辑吗?

谢谢!

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

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

item.ImageIndex = 0;
listView1.Items.Add(item);

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

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

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

listView1.SmallImageList = imageList1;

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

您可以使用状态图像列表:

var listViewItem1 = new ListViewItem(new string[] { "", "Subject2"}, -1);
var imageList1 = new ImageList(this.components);
var listView1 = new ListView();
...
// setup listview
listView1.StateImageList = imageList1;
...
// set up initial image index
listViewItem1.StateImageIndex = 1;

然后,如果单击行图像索引将更改为下一个。 因此,如果在图像列表中有邮件和邮件打开的图像,则会在它们之间切换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM