.NET如何跨线程操作控件

    文章来源:万象互联 更新时间:2012-11-5 15:19:45
分享:

在.NET中,如果我们在非UI线程上访问窗体上的控件的时候,会产生一个跨线程调用的异常,那么如何处理这种情况呢?可以使用Control.Invoke方法,如果你不习惯使用委托,那么.Net还为我们提供了一个组件BackgroundWorker,你可以使用这个组件,以事件的方式去处理这种跨线程的控件访问。下面我就来详细的介绍一下这个组件的用法。

我们先来看一下BackgroundWorker提供了哪些常用的成员,

事件

◆DoWork:我们在这个事件中,执行需要异步处理的工作。

◆ProgressChanged:我们在这个事件中,接收并处理异步处理过程中的信息。

◆RunWorkerCompleted:我们在这个事件中,执行异步处理结束的工作。

方法

◆RunWorkerAsync()和RunWorkerAsync(object argument):这两个方法触发DoWork事件,开始异步操作。

◆ReportProgress(int percentProgress)和ReportProgress(int percentProgress, object userState):这两个方法触发ProgressChanged事件。

◆CancelAsync:结束后台的异步操作。

文章来源:http://www.hulian.top,转载请注明!

版权说明:本站原创文章,由万象互联SEO优化发表.
本文地址:https://www.hulian.top/zixun/post/5365.html
在线咨询
  • 在线时间
  • 8:00-21:00