C# ListView控件详细介绍

开发 后端
这里介绍C# ListView控件的自定义排列,即单击C# ListView控件的标题时进行排序,以及介绍实现C# ListView控件的最后一列的去除,即自动调整合适的大小。

首先是实现C# ListView控件的自定义排序,订阅C# ListView控件的ColumnClick事件,然后介绍排序类的定义、调整C# ListView控件列宽的函数,最后在窗体的Shown事件中调整C# ListView控件的列宽,即第一次显示的时候马上调整列宽。

  1. private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)  
  2. {  
  3. if (this.listView1.Columns[e.Column].Tag == null)  
  4. this.listView1.Columns[e.Column].Tag = true;  
  5. bool tabK = (bool)this.listView1.Columns[e.Column].Tag;  
  6. if (tabK)  
  7. this.listView1.Columns[e.Column].Tag = false;  
  8. else  
  9. this.listView1.Columns[e.Column].Tag = true;  
  10. this.listView1.ListViewItemSorter = new ListViewSort
    (e.Column, this.listView1.Columns[e.Column].Tag);  
  11. //指定排序器并传送列索引与升序降序关键字  
  12. this.listView1.Sort();//对列表进行自定义排序  

排序类的定义:

  1. class ListViewSort : IComparer  
  2. {  
  3. private int col;  
  4. private bool descK;  
  5.  
  6. public ListViewSort()  
  7. {  
  8. col = 0;  
  9. }  
  10. public ListViewSort(int column, object Desc)  
  11. {  
  12. descK = (bool)Desc;  
  13. col = column; //当前列,0,1,2...,参数由ListView控件的ColumnClick事件传递  
  14. }  
  15. public int Compare(object x, object y)  
  16. {  
  17. int tempInt = String.Compare(((ListViewItem)x).SubItems[col].Text, 
    ((ListViewItem)y).SubItems[col].Text);  
  18. if (descK) return -tempInt;  
  19. else return tempInt;  
  20. }  

上面的C# ListView控件的自定义排列,即单击C# ListView控件的标题时进行排序

下面将实现C# ListView控件的最后一列的去除,即自动调整合适的大小

首先写一个调整C# ListView控件列宽的函数

  1. private void 调整LV列宽()  
  2. {  
  3. listView1.ColumnWidthChanged -new 
    ColumnWidthChangedEventHandler(listView1_ColumnWidthChanged);  
  4. 备注.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);  
  5. listView1.ColumnWidthChanged += new 
    ColumnWidthChangedEventHandler(listView1_ColumnWidthChanged);  

再订阅C# ListView控件的Size_Change事件,即窗口大小被改变时调整列宽

  1. void listView1_SizeChanged(object sender, EventArgs e)  
  2. {  
  3. 调整LV列宽();  

最后在窗体的Shown事件中调整C# ListView控件的列宽,即第一次显示的时候马上调整列宽。

  1. private void 商品管理_Shown(object sender, EventArgs e)  
  2. {  
  3. 调整LV列宽();  

【编辑推荐】

  1. C#字符串操作步骤
  2. C#集成开发环境浅析
  3. Visual C# .NET应用程序
  4. C# TimeLabel控件详解
  5. C#复合控件开发技术
责任编辑:佚名 来源: 百度空间
相关推荐

2009-08-27 14:32:15

C#编写ActiveX

2009-08-18 17:41:22

C# ListView

2009-08-10 16:30:56

C# BitmapDa

2009-08-12 15:34:40

C# DBNull

2009-08-21 17:55:52

C#复合控件

2009-08-03 18:49:17

C#和Java

2009-08-20 15:26:42

C#循环语句

2009-08-26 17:31:59

C# const常量

2009-08-21 09:23:11

C# GDI+

2009-08-07 16:10:20

C#调用API

2009-08-21 15:16:23

C#使用指针

2009-08-14 17:04:50

C#类型系统

2009-08-13 13:38:30

C#命名规范

2009-08-06 14:59:36

C#编译器

2009-08-25 17:28:23

C#创建DataSet

2011-06-08 13:35:18

C#数据类型

2009-08-27 17:31:44

C#创建Windows

2009-08-13 15:40:28

C#基础知识

2011-07-14 11:08:30

C#继承

2009-08-13 16:02:29

C#结构
点赞
收藏

51CTO技术栈公众号