我有一個列表視圖和列,我需要在列表視圖中添加圖標一樣,如果我選擇該行意味着它應該是開放的郵件圖標,如果沒有選擇我行意味着它的,因爲它是郵件圖標。如何根據c#windows窗體應用程序中的項目在listview列中添加圖標?
你能告訴我的邏輯....
謝謝!
我有一個列表視圖和列,我需要在列表視圖中添加圖標一樣,如果我選擇該行意味着它應該是開放的郵件圖標,如果沒有選擇我行意味着它的,因爲它是郵件圖標。如何根據c#windows窗體應用程序中的項目在listview列中添加圖標?
你能告訴我的邏輯....
謝謝!
因爲我不知道你是如何將商品加入您的ListView
,我只能爲你提供一個例子片斷。添加ImageList
到您的解決方案,這兩個圖標(讀和未讀郵件圖標)添加到這個列表中。要使用圖像的項目添加到您的列表視圖控件,你可以做到以下幾點:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
listView1.SelectedItems[0].ImageIndex = 1;
}
記住設置:
ListViewItem item = new ListViewItem();
item.SubItems.Add("item1");
item.SubItems.Add("item2");
item.ImageIndex = 0;
listView1.Items.Add(item);
要選擇一個圖標,你應該使用SelectedIndexChanged
事件時更改圖標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;
然後,如果你的行圖像索引單擊更改爲下一個。所以如果你的圖像列表中有郵件和郵件打開的圖像,它們將在它們之間切換。
@Klaudiussz良好的邏輯的人.. –
太謝謝你了... –
不客氣:) – Roman