全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

.NET WinForm实现在listview中添加progressbar的方法

本文实例讲述了.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小时内与您取得联系。