using System.ComponentModel

直接使用EgProgressBar方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  BackgroundWorker Bw = new BackgroundWorker();
  ListView listView1 = new ListView();
  public void EgProgressBar()
  {
      DirectoryInfo di = new DirectoryInfo(@"C:/Windows");
      FileInfo[] fi = di.GetFiles();
      progressBar1.Maximum = fi.Length - 1; //设置进度条的最大值
      Bw.WorkerSupportsCancellation = true;
      Bw.WorkerReportsProgress = true;
      Bw.DoWork += new DoWorkEventHandler(Add); //绑定事件
      Bw.ProgressChanged += new ProgressChangedEventHandler(Progress);
      Bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(End);
      Bw.RunWorkerAsync();
  }
  public void Add(object sender, DoWorkEventArgs e)
  {
       
      DirectoryInfo di = new DirectoryInfo(@"C:/Windows");
      foreach (FileInfo item in di.GetFiles())
      {
          ListViewItem lvt = new ListViewItem();//用listviewItem来存储获取到文件的信息
          lvt.Text = item.FullName;
          lvt.SubItems.Add(DateTime.Now.ToLongTimeString());
          Thread.Sleep(500);
          
          Bw.ReportProgress(listView1.Items.Count, lvt);//把当前的进度报告出去,获取到第几个文件和该文件的信息
      }
 
  }
  public void Progress(object sender, ProgressChangedEventArgs e)
  {
      progressBar1.Value = e.ProgressPercentage;//获取第几个文件,用来改变进度条的进度
      ListViewItem lv = e.UserState as ListViewItem;
      listView1.Items.Add(lv);//把最新获取到的文件信息添加到listview
  }
  public void End(object sender, RunWorkerCompletedEventArgs e)
  {
       progressBar1.Value = 0;//进度条清0
  }

传递方法参数RunWorkerAsync(参数)

获取方法   DoWorkEventArgs    的    e.Argument

结束时判定 Dowork方法  e.result   自动​传递到completed 的e.result 中

【C#利用后台动态加载数据】Winform“防界面卡死”【BackgroundWorker】类的更多相关文章

  1. 微信小程序(五) 利用模板动态加载数据

    利用模板动态加载数据,其实是对上一节静态数据替换成动态数据:

  2. asp.net c# select 动态加载数据

    1.说明通过 asp.net,利用jQuery ,c#语言给 select控件动态加载数据.前端页面使用的是.aspx类型的HTML页面,后台使用MVC上的controller控制器 2.webcon ...

  3. Extjs-树 Ext.tree.TreePanel 动态加载数据

    先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...

  4. AppCan学习笔记----关闭页面listview动态加载数据

    AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...

  5. [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件

    页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...

  6. C# 利用反射动态加载dll

    笔者遇到的一个问题,dll文件在客户端可以加载成功,在web端引用程序报错.解决方法:利用反射动态加载dll 头部引用加: using System.Reflection; 主要代码: Assembl ...

  7. mui 动态加载数据出现的问题处理 (silder轮播组件 indexedList索引列表 下拉刷新不能继续加载数据)

    mui-slider 问题:动态给mui的图片轮播添加图片,轮播不滚动. 解决:最后把滚动轮播图片的mui(".mui-slider").slider({interval: 300 ...

  8. ASP.NET MVC动态加载数据

    ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分:  Source Code 上图中,有一行代码: <tbody ...

  9. js实现滚动条来动态加载数据

    主要angular2+es6 data:Array<any> //展示的数据 allData:Array<any> //全部的数据 size:number = 10 //每次动 ...

随机推荐

  1. 【JavaScript】particle

    这是js实现的粒子动画,有两种模式,分别是zoom和line,它们对应的效果不同,但是原理都相同,具体分析如下: 部分程序如下: var p = this; p.originParams = orig ...

  2. MVC5新特性(一)之RouteAttribute打造自己的URL规则

    1.RouteAttribute概述 RouteAttribute的命名空间是System.Web.Mvc,区别与web api的RouteAttribute(它的命名空间是System.Web.Ht ...

  3. PAT——1068. 万绿丛中一点红

    对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...

  4. SpringMVC转发页面405错误

    需要在该方法前加上:@ResponseBody注解 加上这个注解后可能在转发页面的时候出现问题,则需要在方法的参数中增加HttpServletRequest 和HttpServletResponse参 ...

  5. Notes 20180507 : Java程序设计之环境搭建与HelloWord

    3 HelloWorld 不管从事什么工作那么一个工作环境总是必不可少的,那怕你只是要写篇文章,一张平坦的书桌和流利的书写笔总是能帮助我们完成工作的,Java开发更是如此.在开始今天的HelloWor ...

  6. Docker permission denied

    Issue: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/ ...

  7. C3P0连接池的配置与使用

    1.下载c3p0-0.9.1.2.jar 下载地址:http://download.csdn.net/detail/chunxiaqiudong5/9661922 2.添加配置文件c3p0-confi ...

  8. Xcode官方xip直接离线下载地址(更新到Xcode 9.4.1)

    Xcode 9.4.1 https://download.developer.apple.com/Developer_Tools/Xcode_9.4.1/Xcode_9.4.1.xip Xcode 9 ...

  9. Easyui之accordion修改Title样式,字体等

    .accordion{background:#fff;overflow:hidden;}.accordion .accordion-header{background:#efefef;border-t ...

  10. Java中的引用:强引用、软引用、弱引用、幻象引用(虚引用)

    Java语言中,除了原始数据类型的变量(八大基本数据类型),其他都是引用类型,指向各种不同的对象. 理解引用对于我们掌握Java对象生命周期和JVM内部相关机制都是有帮助的. 不同的应用类型,不同之处 ...