如何使用listView
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本篇文章给大家分享的是有关如何使用listView,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、基本使用:listView.View
千家信息网最后更新 2025年11月10日如何使用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安全错误
数据库的锁怎样保障安全
浙江国家网络安全办公室
农场游戏上海软件开发
loc是哪个数据库的基因
服务器批量挂q
服务器不同大小的内存条可以混用
信息网络安全法渊源
数据库sql语句基本知识ppt
sd女仆数据库
戴尔R310服务器
用友t3数据库不符
安卓更新图片服务器
宝塔数据库名长度限制
ftp无法登录到服务器
茶陵软件开发职业技术学校
数据库 错误代码 1
软件开发员的年终总结
三级网络技术选择题有原题吗
霞浦县屯准网络技术服务
在总行从事网络安全工作怎么样
静安区软件开发公司有哪些
免疫网络安全吗
重庆微信软件开发中心
和利时网络安全产品招标
阿里云服务器自带防御吗
订单支付数据库设计
网络安全泄密档案
服务器负荷怎么解决
网络安全法个人信息的含义
网络安全系统好不好
耶鲁人脸数据库