標籤:listview控制項 listview控制項添加新項 listview控制項移除項 listview控制項添加表徵圖 listview控制項平鋪視圖
ListView控制項---列表視圖控制項
用途:顯示帶表徵圖的項列表,其中可以顯示大表徵圖、小表徵圖和資料
ListView控制項的常用屬性:
View屬性:設定項在控制項中的顯示方式,View屬性的值有以下幾種
Details 每個項顯示在不同的行上
LargeIcon 每個項都顯示為一個最大的表徵圖,下面有標籤,是預設的視圖模式
List 每個項顯示為一個小表徵圖,右邊帶標籤,各項排列在列中,沒有列表頭
SmallIcon 每個項顯示為小表徵圖,右邊帶標籤
Title 顯示完整大小的表徵圖,右邊帶項標籤和子項資訊
1.添加項:ListView控制項的Item屬性的Add方法
public virtual ListViewItem Add(string text,int imageIndex)
執行個體部分代碼:
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("項目不可為空"); } else { listView1.Items.Add(textBox1.Text.Trim()); } }
運行:
2.移除項(這個類似於上一篇部落格中ImageList控制項講的)
RemoveAt方法用於移除集合中指定索引處的項
Clear方法用於從集合中移除所有項
執行個體部分代碼:
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("項目不可為空"); } else { listView1.Items.Add(textBox1.Text.Trim()); textBox1.Text = ""; } } private void button3_Click(object sender, EventArgs e) { if (listView1.Items.Count == 0) { MessageBox.Show("項目中已經沒有項目"); } else { listView1.Items.Clear(); } } private void button2_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0) { MessageBox.Show("請選擇要刪除的項"); } else { listView1.Items.RemoveAt(listView1.SelectedItems[0].Index); listView1.SelectedItems.Clear(); } }
運行:
用RemoveAt()方法移除"少數派報告":
用Clear()全部移除:
3.選擇ListView控制項中的項
使用其Selected屬性,用於設定或擷取一個值,指定是否選定此項。
listView1.Items[2].Selected=true;//使用Selected方法選中第3項
4.為ListView控制項中的項添加表徵圖
這是就要用到之前講的ImageList控制項了。
List視圖、Details視圖和SmallIcon視圖顯示SmallImageList屬性中指定的映像列表中的映像
LargeIcon視圖顯示LargeImageList屬性中指定的映像列表中的映像
列表視圖在大表徵圖或小表徵圖旁顯示StateImageList屬性中設定的一組附加表徵圖
實現步驟:
(1)將相應的屬性(SmallImageList、LargeImageList或StateImageList)設定為想要使用的現有的ImageList控制項
(2)為每個具有關聯表徵圖的清單項目設定ImageIndex屬性或StateImageIndex屬性,這些屬性可以再代碼中設定,也可以在ListViewItem集合編輯器中設定。
執行個體代碼:
(1)其中設定ListView控制項的LargeImageList屬性和SmallImageList屬性為imageList1控制項
(2)再向ImageList控制項中添加映像
(3)最後向ListView控制項中添加兩項
(4)設定這兩項的ImageIndex屬性分別為0和1
private void Form1_Load(object sender, EventArgs e) { listView1.LargeImageList = imageList1; imageList1.ImageSize = new Size(37,36); imageList1.Images.Add(Image.FromFile("01.png")); imageList1.Images.Add(Image.FromFile("02.png")); listView1.SmallImageList = imageList1; listView1.Items.Add("碟中諜"); listView1.Items.Add("世界大戰"); <span style="color:#ff0000;">listView1.Items[0].ImageIndex = 0; listView1.Items[1].ImageIndex = 1;</span> }
運行:
5.在ListView控制項中啟用平鋪視圖
將ListView控制項的View屬性設定為Tile,還可以通過TileSize屬性來調整平鋪的大小
執行個體代碼:
private void Form1_Load(object sender, EventArgs e) { listView1.View = View.Tile;//設定listView1控制項的View屬性 //設定控制項的LargeImageList屬性,其大表徵圖在imageList1控制項中選擇 listView1.LargeImageList = imageList1; //向imageList1控制項中添加兩張圖片 imageList1.Images.Add(Image.FromFile("1.bmp")); imageList1.Images.Add(Image.FromFile("2.bmp")); //向控制項中添加項目 listView1.Items.Add("碟中諜"); listView1.Items.Add("世界大戰"); listView1.Items.Add("明日邊緣"); listView1.Items.Add("少數派報告"); listView1.Items.Add("最後的武士"); //設定控制項中項目的表徵圖 listView1.Items[0].ImageIndex = 0; listView1.Items[1].ImageIndex = 1; listView1.Items[2].ImageIndex = 0; listView1.Items[3].ImageIndex = 1; listView1.Items[4].ImageIndex = 0; listView1.TileSize = new Size(200, 50);//設定listView1控制項的TileSize屬性 }
運行: