实现使用后台操作的窗体

来源:互联网 发布:琉特琴 淘宝 编辑:程序博客网 时间:2024/05/22 13:53

如果有一个需要很长时间才能完成的操作,而且不希望用户界面中出现延迟,则可以使用 BackgroundWorker 类来在另一个线程上运行该操作。 

 

创建了一个计算 Fibonacci 数的窗体。该计算运行于用户界面线程之外的另一个线程上,因此用户界面可在计算进行的同时继续运行,而不会出现延迟

 

 

在应用程序中实现多线程的首选方式是使用 BackgroundWorker 组件。BackgroundWorker 组件使用事件驱动模型实现多线程。辅助线程运行 DoWork 事件处理程序,创建控件的线程运行 ProgressChanged 和 RunWorkerCompleted 事件处理程序。注意不要从 DoWork 事件处理程序调用您的任何控件。

下面的代码示例不异步执行任何工作,因此没有 DoWork 事件处理程序的实现。TextBox 控件的 Text 属性在 RunWorkerCompleted 事件处理程序中直接设置

 

 

 

 

CSC编译一下

 

 

原创粉丝点击