C#学习笔记:Windows窗体——ListView控件的使用

参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安)P338

学习内容:ListView控件的使用。使用ListView控件,显示带图标的信息,并根据ComboBox的设置改变显示方式。

第一步:建立窗口界面如下,包含一个ListView控件、一个ComboBox,还有两个ImageList控件

C#学习笔记:Windows窗体——ListView控件的使用_第1张图片

第二步:准备5个32*32的bmp格式的图标,与ImageList控件(largeImageList)关联;准备5个16*16的bmp格式的图标,与ImageList控件(smallImageList)关联

第三步:定义一个方法AddSampleItem,向ListView控件添加示例项。

第四步:为ComboBox的SelectedIndexChanged事件

第五步:编写Form1的构造函数。

第六步:在  public Form1()中补充调试代码

程序代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Example11_17
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            AddSampleItem();            //调用对listView的初始化函数
            // 处理SelectedIndexChanged事件,当ComboBox中
            // 选中的项更改时及时更新ListView的视图
            comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
            // 获取View枚举的各个值的名称
            string[] views = Enum.GetNames(typeof(View));
            // 把各视图的名字加入到ComboBox中
            foreach (string s in views)
            {
                comboBox1.Items.Add(s);
            }
            // 默认选中第一项
            comboBox1.SelectedIndex = 0;

            /* 可选,下面代码输出调试信息 */
            foreach (ListViewItem item in listView1.Items)
            {
                string msg = "项文本:" + item.Text;
                msg += "\n子项列表:";
                foreach (ListViewItem.ListViewSubItem st in item.SubItems)
                {
                    msg += st.Text + "  ";
                }
                msg += "\n";
                System.Diagnostics.Debug.WriteLine(msg);
            }
        }
        /// 
        /// 向ListView控件添加示例项
        /// 
        private void AddSampleItem()
        {
            listView1.Items.Clear();        //清空

            ListViewItem item1 = new ListViewItem();
            item1.Text = "小陈";            //设置文本项
            item1.ImageIndex = 0;           //设置要显示图标的索引
            item1.SubItems.Add("C语言入门");    //添加子项
            item1.SubItems.Add("3月6日");

            ListViewItem item2 = new ListViewItem();
            item2.Text = "小黄";            //设置文本项
            item2.ImageIndex = 1;           //设置要显示图标的索引
            item2.SubItems.Add("VB实战");    //添加子项
            item2.SubItems.Add("2月27日");

            ListViewItem item3 = new ListViewItem();
            item3.Text = "小卜";            //设置文本项
            item3.ImageIndex = 2;           //设置要显示图标的索引
            item3.SubItems.Add("VB实战");    //添加子项
            item3.SubItems.Add("2月27日");

            ListViewItem item4 = new ListViewItem();
            item4.Text = "小胡";            //设置文本项
            item4.ImageIndex = 3;           //设置要显示图标的索引
            item4.SubItems.Add("VB实战");    //添加子项
            item4.SubItems.Add("2月27日");

            ListViewItem item5 = new ListViewItem();
            item5.Text = "小白";            //设置文本项
            item5.ImageIndex = 4;           //设置要显示图标的索引
            item5.SubItems.Add("VB实战");    //添加子项
            item5.SubItems.Add("2月27日");

            listView1.Items.AddRange(new ListViewItem[] { item1,
                   item2,item3,item4,item5 });
            //备注:只有在详细信息视图下才显示子项
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string view = (sender as ComboBox).SelectedItem as string;
            //从字符串中还原枚举值
            View v = (View)Enum.Parse(typeof(View), view);
            listView1.View = v;     //设置ListView的呈现方式
        }
    }

    

}

运行结果:

C#学习笔记:Windows窗体——ListView控件的使用_第2张图片

 

C#学习笔记:Windows窗体——ListView控件的使用_第3张图片

 

 

 

你可能感兴趣的:(C#学习笔记:Windows窗体——ListView控件的使用)