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