簡體   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