如何使用listView
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关如何使用listView,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、基本使用:listView.View
千家信息网最后更新 2026年11月03日如何使用listView
本篇文章给大家分享的是有关如何使用listView,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
一、基本使用:
listView.View = View.Details;//设置视图listView.SmallImageList = imageList;//设置图标//添加列listView.Columns.Add("本地路径", 150, HorizontalAlignment.Left);listView.Columns.Add("远程路径", 150, HorizontalAlignment.Left);listView.Columns.Add("上传状态", 80, HorizontalAlignment.Left);listView.Columns.Add("耗时", 80, HorizontalAlignment.Left);//添加行var item = new ListViewItem();item.ImageIndex = 1;item.Text = name; //本地路径item.SubItems.Add(path); //远程路径item.SubItems.Add("ok"); //执行状态item.SubItems.Add("0.5"); //耗时统计 listView.BeginUpdate();listView.Items.Add(item);listView.Items[listView.Items.Count - 1].EnsureVisible();//滚动到最后listView.EndUpdate();二、动态添加记录,ListView不闪烁:
1.新建一个C# 类,命名为ListViewNF(NF=Never/No Flickering)
2.复制如下代码
class ListViewNF : System.Windows.Forms.ListView{ public ListViewNF() { // Activate double buffering this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); // Enable the OnNotifyMessage event so we get a chance to filter out // Windows messages before they get to the form's WndProc this.SetStyle(ControlStyles.EnableNotifyMessage, true); } protected override void OnNotifyMessage(Message m) { //Filter out the WM_ERASEBKGND message if (m.Msg != 0x14) { base.OnNotifyMessage(m); } }}3.修改你的WinForm对应的xxxx.Design.cs,将系统默认生成的System.Windows.Forms.ListView改为ListViewNF即可。
三、动态添加记录,跳转到最后行:
实现代码:
ListViewItem Item = new ListViewItem();Item.SubItems.Clear();.....相关其他代码this.listView1.Items.Add(Item);Item.EnsureVisible(); //关键的实现函数
四、点击表头实现排序:
1.增加自定义排序类:
using System;using System.Collections;using System.Windows.Forms;namespace Whir.Software.Framework.UI{ public class ListViewSort : IComparer { private readonly int _col; private readonly bool _descK; public ListViewSort() { _col = 0; } public ListViewSort(int column, object desc) { _descK = (bool)desc; _col = column; //当前列,0,1,2...,参数由ListView控件的ColumnClick事件传递 } public int Compare(object x, object y) { int tempInt = String.CompareOrdinal(((ListViewItem)x).SubItems[_col].Text, ((ListViewItem)y).SubItems[_col].Text); if (_descK) { return -tempInt; } return tempInt; } }}2.给ListView增加点击表头事件:
private void listView_ColumnClick(object sender, ColumnClickEventArgs e){ if (listView.Columns[e.Column].Tag == null) { listView.Columns[e.Column].Tag = true; } var tabK = (bool)listView.Columns[e.Column].Tag; listView.Columns[e.Column].Tag = !tabK; listView.ListViewItemSorter = new ListViewSort(e.Column, listView.Columns[e.Column].Tag); //指定排序器并传送列索引与升序降序关键字 listView.Sort();//对列表进行自定义排序 }以上就是如何使用listView,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
路径
排序
代码
事件
关键
动态
更多
状态
知识
篇文章
表头
实用
关键字
函数
前列
升序
参数
图标
就是
工作会
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司排名
互联网科技巨头监管
互联网科技保险
互联网科技卖菜
喔噻互联网科技
杭州互联网科技公司
无线互联网科技
成都狮子座互联网科技
互联网科技咨询
农村开互联网科技讲堂
互联网金融科技公司干啥的
栖莱科技互联网股份有限公司
长沙茂晟互联网科技有限公司
朱啸虎曾投资哪些互联网科技企业
工业互联网展湾科技股份有限公司
合肥互联网科技公司公章图片
陕西九四连强互联网科技有限公司
互联网科技的前景
互联网领先科技成果宣传视频
科技互联网专业务虚会材料
喔噻互联网科技有限公司
广东万易互联网科技有限公司惠州分公司
互联网巨头反垄断金融科技
互联网科技排名
贷财互联网科技
滨湖区互联网智能科技产品供应
农村开互联网科技讲堂
成都铂石互联网科技做什么的
合肥互联网科技公司公章图片
版纳互联网科技选哪家