【C#利用后台动态加载数据】Winform“防界面卡死”【BackgroundWorker】类
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】类的更多相关文章
- 微信小程序(五) 利用模板动态加载数据
利用模板动态加载数据,其实是对上一节静态数据替换成动态数据:
- asp.net c# select 动态加载数据
1.说明通过 asp.net,利用jQuery ,c#语言给 select控件动态加载数据.前端页面使用的是.aspx类型的HTML页面,后台使用MVC上的controller控制器 2.webcon ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
- [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
页面滚动动态加载数据,页面下拉自动加载内容 相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 有手机的相信都见过这样的效果:进入qq空间,向下拉动空 ...
- C# 利用反射动态加载dll
笔者遇到的一个问题,dll文件在客户端可以加载成功,在web端引用程序报错.解决方法:利用反射动态加载dll 头部引用加: using System.Reflection; 主要代码: Assembl ...
- mui 动态加载数据出现的问题处理 (silder轮播组件 indexedList索引列表 下拉刷新不能继续加载数据)
mui-slider 问题:动态给mui的图片轮播添加图片,轮播不滚动. 解决:最后把滚动轮播图片的mui(".mui-slider").slider({interval: 300 ...
- ASP.NET MVC动态加载数据
ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: Source Code 上图中,有一行代码: <tbody ...
- js实现滚动条来动态加载数据
主要angular2+es6 data:Array<any> //展示的数据 allData:Array<any> //全部的数据 size:number = 10 //每次动 ...
随机推荐
- Kali-linux密码在线破解
为了使用户能成功登录到目标系统,所以需要获取一个正确的密码.在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa.本节将介绍使用Hydra和Medusa工具实现密码在线 ...
- 401. Binary Watch 回溯
A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...
- spring boot 2.x拦截器导致静态资源404终极解决办法
首先添加application文件static路径,我的是yml文件 spring: mvc: static-path-pattern: /static/**然后注册拦截器类如下方法; @Overri ...
- ORA-27300: OS system dependent operation:sendmsg failed with status: 105 ORA-27301: OS failure message: No buffer space available
早上查看数据库alert日志,发现如下ORA-报错: kgxpvfynet: mtype: 61 process 6460 failed because of a resource problem i ...
- weblogic.xml中的虚拟目录的配置
项目中的Ueditor富文本编辑器中上传图片后要能够预览. 如下图: 实现: 配置weblogic的虚拟目录:项目名称是test 如图: 这个表示:所有的访问/uefile/*的路径都会被转发到服务器 ...
- 歌词解析&class
class song_song: def __init__(self,lrc_file): # 定义两个字典一个列表备用 self.song_file = lrc_file self.song_lrc ...
- struct tm
struct tm { int tm_sec; /* 秒–取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值 ...
- select 宽度跟随option内容自适应
传统的select在没有设置固定宽度的情况,会因为自身的 option 选项的里,宽度最宽的option作为select本身的宽度 例如 可见效果为: select的宽度因为"宽度最宽的op ...
- html网站meta标签大全
案例 一.天猫 <meta charset="utf-8"> <title>天猫TMALL</title> <meta name=&quo ...
- Python -- Effective Python:编写高质量Python代码的59个有效方法
第 1 章 用 Pythonic 方式来思考 第 1 条:确认自己所用的 Python 版本 python --version import sys print(sys.version_info) p ...