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#复合控件开发技术

网站题目:C# ListView控件详细介绍
分享网址:http://www.csdahua.cn/qtweb/news38/448538.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网