摘要: 概述在应用程序中,可能会遇到一些执行耗时的功能操作,比如数据下载、复杂计算及数据库事务等,一般这样的功能会在单独的线程上实现,执行结束后结果显示到用户界面上,这样可避免造成用户界面长时间无响应情况。在.NET 2.0及以后的版本中,FCL提供了BackgroundWorker组件来方便的实现这些功能要求。组件介绍BackgroundWorker类位于System.ComponentModel 命名空间中,通过该类在单独的线程上执行操作实现基于事件的异步模式。下面对BackgroundWorker类的主要成员进行介绍。BackgroundWorker类的第1个主要方法是RunWorkerAsyn 阅读全文
posted @ 2013-01-08 21:16 踏浪帅 阅读(1003) 评论(0) 推荐(0) 编辑
摘要: 在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示元,必要进,还要控制后台线程中断当前操作。以前,类似的应用会比较麻烦,需要写的代码较多,也很容易出现异常。在 .net中,提供了一个组件 backgroundworker就是专门解决这个问题的。使用这个组件其实非常简单,例如,我们做一个类似如下界面的进度条的小例子,在后台线程中进行耗时运算,同时刷新界面上的滚动条和提示信息,运行结束后,弹出处理结果。在界面上拖入backgroundWorker组件 阅读全文
posted @ 2013-01-08 20:59 踏浪帅 阅读(380) 评论(0) 推荐(0) 编辑
摘要: using System.Threading;namespace WindowsFormsApplication2{ public partial class Form1 : Form { private delegate void FlushClient(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread th = new Thread(new ThreadStart(BindThread)); th.IsBackground = t 阅读全文
posted @ 2013-01-08 20:12 踏浪帅 阅读(706) 评论(0) 推荐(0) 编辑