列表视图控件ListView

    ListView控件类似于ListBox控件,可用来显示带图标的项的列表,可以显示大图标、小图标和数据。主要区别在于ListView控件提供了多种模式显示数据项。

 

一、列表视图控件的部分属性及其说明

属性名

说明

Selected

用于获取或设置一个值,该值指示是否选定此选项

CheckBoxes

指示列表视图控件中各项的旁边是否显示复选框。显示复选框,则为true,否则为false。默认为false

CheckedItems

获取控件中当前选中的项,该属性仅当ListView控件的CheckBoxes属性设置为true时才有用。CheckedItems属性返回一个包含ListView控件中的所有选中项的集合

Columns

获取控件中显示的所有列标头的集合

HeaderStyle

获取或设置列标头式样,取值有:Clickable(列标头的作用类似于按钮,单击时可以执行操作),Nonclickable(列标头不响应鼠标单击)、None(列标头在Details视图中不显示)

LargeImageList

设置当项以大图标模式在控件中显示时使用ImageList,ImageList包含将View属性设置为LargeIcon时要使用的图标

SmallImageList

当项在控件中显示为小图标时使用

Sorting

指示是否对列表项进行排序,取值有Asending(升序)、Desending(降序)、None(不排序)

Scrollable

指示在没有足够空间来显示所有项时,是否添加滚动条

MultiSelect

指示是否可以选择多项

Items

Add方法可以向控件中添加项

RemoveAt(int index)方法或可以移除控件中指定的项

Clear方法可移除列表中的所有项

LabelEdit

实现在ListView控件中修改数据的功能。若设置为true,允许用户手动更改ListView控件中数据项的标签。

 

二、ListView控件可以通过View属性设置项在控件中显示的方式

View属性的取值

值名称

说明

Details

每个项显示在不同的行上,并带有关于列中所排列的各项的进一步信息。最左边的列包含一个小图标和标签,后面的列包含应用程序指定的子项。列显示一个标头,它可以显示列的标题。用户可以在运行时调整各列的大小

LargeIcon

每个项都显示为一个最大化图标,在它的下面有一个标签,这是默认的视图模式

SmallIcon

每个项都显示为一个小图标,右边带一个标签

List

每个项都显示为一个小图标,右边带一个标签。各项排列在列中,没有列标题

Tile

每个项都显示为一个完整大小的图标,在它的右边带项标签和子项信息。显示的子项信息由应用程序指定。此视图仅在下面的平台上受支持:Windows XP和Windows Server 2003系列。在之前的操作系统上,此值被忽略,并且ListView控件在LargeIcon视图中显示

 

三、为ListView控件中的项添加图标

    如果为ListView控件中的项添加图标,,需要与ImageList控件相结合。使用ImageList控件设置ListView控件中项的图标,ListView控件可显示3个图像列表中的图标。List视图、Details视图和SmallIcon视图显示SmallImageList属性中指定的图像列表中的图像。LargeIcon视图显示LargeImageList属性中指定的图像列表中的图像。列表视图还可以在大图标或小图标旁显示StateImageList属性中设置的一组附加图标。实现的步骤如下:

①将相应的属性(SmallImageList、LargeImageList或StateImageList)设置为想要使用的现有ImageList组件;

②为每个具有关联图标的列表项设置ImageIndex或StateImageIndex属性。这些属性可在代码中设置,或在“ListViewItem集合编辑器”中进行设置。若要打开“ListViewItem集合编辑器”,可在“属性”窗口中单击Items属性旁的省略号按钮,这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。

    例:创建一个Windows应用程序,设置ListView控件的LargeImageList属性和SmallImageList属性为控件imageList1.然后用代码向ImageList控件中添加图像。并且向ListView控件中添加两项,设置这两项的ImageIndex属性分别为0和1。代码如下:

private void Form1_Load(object sender, EventArgs e) {

    listView1.LargeImageList = imageList1;  //设置控件的LargeImageList属性

    imageList1.ImageSize = new Size(37, 36);   //设置imageList控件图标的大小

    //向imageList1中添加两个图标

    imageList1.Images.Add( Image.FromFile("Book.ico") );

    imageList1.Images.Add( Image.FromFile("Root.ico") );

    listView1.SmallImageList = imageList1;   //设置控件的SmallImageList属性

    //向控件中添加两项

    listView1.Items.Add( "搜索" );

    listView1.Items.Add( "游戏" );

    listView1.Items[0].ImageIndex = 0;   //控件中第一项的图标索引为0

    listView1.Items[1].ImageIndex = 1;   //控件中第二项的图标索引为1

}

注:ListView控件默认以大图标方式显示列表项。

 

四、在ListView控件中启用平铺视图

    启用ListView控件的平铺视图功能,可以在图形信息和文本信息之间提供一种视觉平衡。为平铺视图中的某项显示的文本信息与为详细信息视图定义的列信息相同。在ListView控件中,平铺视图与分组功能或插入标记功能一起结合使用。如果要启用平铺视图,需要将View属性设置为true,可以通过设置TileSize属性来调整平铺的大小。

        例:创建一个Windows应用程序,将控件View属性设置为Tile,启用平铺视图。为ImageList控件添加两个图片作为ListView控件中项的图标,向ListView控件中添加4项,设置各项图标,通过控件的TileSize属性设置平铺的宽、高分别为100和50。

private void Form1_Load(object sender, EventArgs e) {

listView1.view = view.Tile;  //设置listView1控件的View属性

listView1.LargeImageList = imageList1;  //设置控件的LargeImageList属性

    //向imageList1中添加两个图标

    imageList1.Images.Add( Image.FromFile("Book.ico") );

    imageList1.Images.Add( Image.FromFile("Root.ico") );

    listView1.SmallImageList = imageList1;   //设置控件的SmallImageList属性

    //向控件中添加两项

    listView1.Items.Add( "搜索" );

    listView1.Items.Add( "游戏" );

    listView1.Items.Add( "搜索" );

    listView1.Items.Add( "游戏" );

 

    listView1.Items[0].ImageIndex = 0;   //控件中第一项的图标索引为0

    listView1.Items[1].ImageIndex = 1;   //控件中第二项的图标索引为1

    listView1.Items[2].ImageIndex = 0;   //控件中第一项的图标索引为0

    listView1.Items[3].ImageIndex = 1;   //控件中第二项的图标索引为1

    listView1.TileSize = new Size(100,50);  //设置listView1控件的TileSize属性

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值