本文实例讲述了.NET WinForm实现在listview中添加progressbar的方法。分享给大家供大家参考,具体如下:

找了好长时间没找到,后来索性自己写了一个:
首先,在往listview加载数据的事件里添加progressbar:
foreach (string d in arr)
{
int index = lv.Items.Count + 1;
item = new ListViewItem(new string[] { index.ToString(), d, "", "", "", "" });
lv.Items.Add(item);
float progress = 0;
Rectangle SizeR = default(Rectangle);
System.Windows.Forms.ProgressBar ProgBar = new System.Windows.Forms.ProgressBar();
SizeR = item.SubItems[2].Bounds;
SizeR.Width = lv.Columns[2].Width;
ProgBar.Parent = lv;
ProgBar.SetBounds(SizeR.X, SizeR.Y, SizeR.Width, SizeR.Height);
ProgBar.Value = (int)progress;
ProgBar.Visible = true;
//取一个唯一的名字,以后好找
ProgBar.Name = d + "progressbar";
}
然后在需要修改progressbar的值的地方设置它的值:
//循环listview上的所有控件,按名字找到progressbar
foreach (Control item in lv.Controls)
{
if (item.Name == d.Name + "progressbar")
{
ProgressBar bar = (ProgressBar)item;
bar.Value = (int)((d.Progress) * 100);
}
}
其实我们只是把progressbar根据长宽高固定在了listview指定的格子里,如果我们拖动listview中的列,格子的位置会发生改变,这时候需要修改对应proressbar的位置,我们需要添加ColumnWidthChanging事件,在拖动column的时候,progressbar会随着改变位置:
private void lvt_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
Rectangle SizeR = default(Rectangle);
int width = e.NewWidth;
foreach (Control item in lv.Controls)
{
//根据名字找到所有的progressbar
if (item.Name.IndexOf("progressbar") >= 0)
{
ProgressBar bar = (ProgressBar)item;
//Rectangle size=bar.Bounds;
SizeR=bar.Bounds;
//lv.Columns[2]是放置progressbar的地方
SizeR.Width=lv.Columns[2].Width;
bar.SetBounds(lv.Items[0].SubItems[2].Bounds.X, SizeR.Y, SizeR.Width, SizeR.Height);
//bar.Width = width;
}
}
}
更多关于C#相关内容感兴趣的读者可查看本站专题:《WinForm控件用法总结》、《C#窗体操作技巧汇总》、《C#数据结构与算法教程》、《C#常见控件用法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。
# .NET
# WinForm
# listview
# 添加
# progressbar
# Winform+.Net6实现图片拖拽上传功能
# Log4net在.Net Winform项目中的使用实例详解
# Winform项目中使用FastReport.Net报表控件
# .Net6开发winform程序使用依赖注入
# VisualStudio2019中为.NET Core WinForm App启用窗体设计器
# 在WinForm和WPF中使用GMap.Net地图插件简单教程
# .Net Winform 实现CSS3.0 泼墨画效果(示例代码)
# 程序设计
# 拖动
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 找了
# 写了
# 更多关于
# 所述
# 长宽
# 使用技巧
# 面向对象
# 好长
# 这时候
# 操作技巧
# 加载
# 讲述了
# lv
# Items
相关文章:
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
ui设计制作网站有哪些,手机UI设计网址吗?
Thinkphp 中 distinct 的用法解析
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
建站之星如何快速生成多端适配网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何在搬瓦工VPS快速搭建网站?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
香港网站服务器数量如何影响SEO优化效果?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
高端云建站费用究竟需要多少预算?
如何在腾讯云免费申请建站?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何在腾讯云服务器快速搭建个人网站?
如何用虚拟主机快速搭建网站?详细步骤解析
建站之星备案是否影响网站上线时间?
建站之星代理平台如何选择最佳方案?
如何通过云梦建站系统实现SEO快速优化?
七夕网站制作视频,七夕大促活动怎么报名?
如何在新浪SAE免费搭建个人博客?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
微信小程序 input输入框控件详解及实例(多种示例)
音乐网站服务器如何优化API响应速度?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何配置WinSCP新建站点的密钥验证步骤?
如何高效搭建专业期货交易平台网站?
建站之星图片链接生成指南:自助建站与智能设计教程
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何在宝塔面板中修改默认建站目录?
如何快速生成专业多端适配建站电话?
公司网站设计制作厂家,怎么创建自己的一个网站?
孙琪峥织梦建站教程如何优化数据库安全?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
盘锦网站制作公司,盘锦大洼有多少5G网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
教学论文网站制作软件有哪些,写论文用什么软件
?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
建站之星如何助力网站排名飙升?揭秘高效技巧
如何零基础开发自助建站系统?完整教程解析
北京网站制作公司哪家好一点,北京租房网站有哪些?
平台云上自主建站:模板化设计与智能工具打造高效网站
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
韩国服务器如何优化跨境访问实现高效连接?
*请认真填写需求信息,我们会在24小时内与您取得联系。