BackgroundWorker的使用方法】的更多相关文章

在使用C#的BackgroundWorker时需要在UI界面上显示DoWork中发生的异常,但怎么调试都无法跳转到界面上,异常也不会传递到RunWorkerCompleted方法中(e.Error为空).在网上搜了很多类似的问题都没有找到答案(搜索方法不对,还是运气不好?),幸好在CSDN上搜到了一个相似的问题(如何统一处理BackgroundWork产生的异常),看到里面说使用“开始执行(不调试)”依然无法传递出异常,才想到可能是调试的问题,改用“开始执行(不调试)”(调试菜单,或CTRL+F…
http://msdn.microsoft.com/zh-cn/library/system.componentmodel.backgroundworker(VS.80).aspx BackgroundWorker 类允许您在单独的专用线程上运行操作.耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态.如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用 BackgroundWorker 类方便地解决问题. 若要在后台执行耗…
# BackgroundWorker 控件的几个实例(C# backgroundworker使用方法): 在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应.解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作.新建线程可以用 Thread 类,可以实现多线程同时操作,简单的可以通过 BackgroundWorker 类实现. 用 BackgroundWorker 类执行耗时的操作BackgroundWor…
在做GUI界面程序的时候,经常会遇到执行长时间方法的需求,当执行长时间方法的同时,再去点击界面,界面就会出现“卡死.假死”的现象,这是因为界面GUI线程被阻塞而导致暂时无响应.解决的方法有很多种,下面介绍C#组件BackgroundWorker的使用方法. //异步执行,避免界面卡死, BackgroundWorker对象 private BackgroundWorker bw = new BackgroundWorker(); bw.WorkerReportsProgress = true;…
边学习边分享,纯属抛砖引玉. 线程的一个好处是异步的执行操作,在winform中,很多耗时操作执行时,为优化用户体验,避免长时间等待,从而运用线程技术异步的执行耗时操作,但不会阻塞主线程. 最近系统很多耗时查询导致体验很差,于是想到了用BackGroundWorker异步处理.而且要支持某些耗时达到几十秒的操作,可以取消. BackGroundWorker有CancelAsync()这个方法.该方法只会将BackGroundWorker的CancellationPending属性设为true,但…
BackgroundWorker 可以用于启动后台线程. 主要的事件及参数: 1.DoWork --当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted --异步操作完成或中途终止会触发该事件. 如果需要提前终止执行后台操作,可以调用BackgroundWorker.CancelAsync方法. 在处理DoWork事件的函数中检测BackgroundWorker.Cancel…
BackgroundWorker用法实例 自己的代码,就是要执行的代码写到dowork里,ProgressChanged事件是控制进度时用的,最后的Completed事件进度完成,也就是dowork里的代码执行完成了 public BackgroundWorker bgWork; bgWork = new BackgroundWorker();bgWork.WorkerReportsProgress = true;bgWork.DoWork += new DoWorkEventHandler(b…
文章摘自:http://www.cnblogs.com/tom-tong/archive/2012/02/22/2363965.html BackgroundWorker 可以用于启动后台线程. 主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted——异步操作完成或中途终止会触发该事件. 如果需要提前终止执行后台操作,可以调用Backg…
在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示,必要时还要控制后台线程中断当前操作. 在.net中,提供了一个组件BackgroundWorker就是专门解决这个问题的.BackgroundWorker类允许在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面(UI)似乎处于停止响应状态.如果需要能进行…
转自http://www.cnblogs.com/tom-tong/archive/2012/02/22/2363965.html  感谢作者详细的介绍 C# BackgroundWorker的使用 BackgroundWorker 可以用于启动后台线程. 主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted——异步操作完成或中途终止会…