如何使用listView
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章给大家分享的是有关如何使用listView,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、基本使用:listView.View
千家信息网最后更新 2025年02月01日如何使用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安全错误
数据库的锁怎样保障安全
国外城市数据库
潍坊嵌入式软件开发工程师
php查看数据库的代码
数据库的界面怎么用
棋牌软件开发方案
怎么找到电脑安装的数据库
软件开发工程师的资历怎么介绍
steam手机服务器连接异常
帝特网络技术有限公司印章
jsp 配置数据库连接
sql 数据库执行顺序
cdt数据库官网
狮标软件开发有限公司怎么样
软件开发没清楚用户需求
dz数据库操作
量化传播数据库
考虑五一假期网络安全
广州渣打银行软件开发岗位
网络安全设备怎么配
军工类软件开发
网络安全法申论
软件开发申请专利需要提交
我的世界免费永久国际服务器
美团类似的软件开发
测试工具是软件开发工具
数据库如何写存储过程
网络安全大赛吴白获得世界冠军
fps 游戏服务器
叛乱服务器
软件开发企业怎么样