摘要:
在 WinForms 中,有时要执行耗时的操作,在该操作未完成之前操作用户界面,会导致用户界面停止响应。解决的方法就是新开一个线程,把耗时的操作放到线程中执行,这样就可以在用户界面上进行其它操作。新建线程可以用 Thread 类,可以实现多线程同时操作,简单的可以通过 BackgroundWorker 类实现。用 BackgroundWorker 类执行耗时的操作BackgroundWorker 类在 System.ComponentModel 命名空间下。VS 的工具箱时有一个 BackgroundWorker 组件,就是这个类。常用方法1.RunWorkerAsync开始执行后台操作。引发 阅读全文
摘要:
BackgroundWorker 在执行DoWork事件时该如何取消呢?方法1 DoWork 执行一个(耗时)循环方法2 DoWork执行一个(耗时)方法[注:方法没有循环]见代码:方法1中DoWork事件执行的是一个for循环(foreach,while.....)取消操作很简单,只要在循环中判断即可看代码---------代码是从网上拷贝下来的,这种例子网上很多view plain#regionusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Component 阅读全文