[英]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.