Windows應用程式進階控制項之ListView控制項

來源:互聯網
上載者:User

標籤: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屬性        }


運行:



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.