C# ListView的使用

35 篇文章 0 订阅

知识准备:

(1)  ListView中包含一个ListViewItems的集合,即ListView的属性Items的add()方法只能添加ListViewItem类型的值

(一般需要添加自己的消息类型的话,需要新创建类,并继承ListViewItem类型)

(2) ListView有一个SmallImageList属性和LargeImageList属性,分别指向大图标视图(LargeIcon)、小图标视图(SmallIcon)中的图标集。一般在窗体中先添加ImageList组件,并添加图标即可,然后使SmallImageList、LargeImageList分别指向各自对应的ImageList即可。

(为了实现大小图标的转换,一般添加两个ImageList组件,而且大小图标的索引必须相同

(3) ListView的属性View来控制显示的类型,View是一个枚举类型,其值包括LargeIcon(大图标)、SmallIcon(小图标)、List(列表)、Detail(详细)、Title(标题)

分别如下图所示:

图1  小图标

图2  大图标

图3  列表

图4  详细

(4) ListViewItems允许设置一个用于显示的Text属性,另一个属性SubItems则包含详细试图(Detail)中显示的文本(用Add()方法添加)。

(5) ListView在Detail(详细)视图,会显示ListView的Columns属性。ListViewItem的Text属性对应第一列,SubItems集对应之后的列

示例:

简便方法:

ListViewItem item = new ListViewItem();
item.Text = "United States";
item.SubItems.Add("Dollar");
item.ImageIndex = 0;
cntrylistView.Items.Add(item);

这是一个C#高级编程中的例子

(1)创建所需的显示类型,必须继承ListVewItem

    public class CountryItem : System.Windows.Forms.ListViewItem
    {
        private string _cntryName;

        public CountryItem(string countryName, string currency)
        {
            _cntryName = countryName;

            //在ListView控件中显示国家的名称
            base.Text = _cntryName;
            //在Detail视图中显示
            base.SubItems.Add(currency);
        }

        public string CountryName
        { 
            get { return _cntryName; } 
        

(2)在ListView中添加信息

            cntrylistView.Items.Add(new CountryItem("United States", "Dollar"));
            cntrylistView.Items[0].ImageIndex = 0;
            cntrylistView.Items.Add(new CountryItem("Greate Britain", "Pound"));
            cntrylistView.Items[1].ImageIndex = 1;
            cntrylistView.Items.Add(new CountryItem("Canada", "Dollar"));
            cntrylistView.Items[2].ImageIndex = 2;
            cntrylistView.Items.Add(new CountryItem("China", "RenMinBi"));
            cntrylistView.Items[3].ImageIndex = 3;

注意:先添加CountryItem到控件中后,才设置CountryItem的ImageIndex属性(从ListViewItem继承而来的)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值