[英].NET equivalent of Android SDK's AsyncTask (i need to display a progress bar while executing operations on a backround thread)
我在一个基本的 C# .NET 4.0 WinForms 应用程序中。 我想要做的是编写一些逻辑来在后台线程上执行后台操作时在 GUI 线程上显示进度条。
Android 已经实现了AsyncTask类,它有一些需要重写的方法:onPreExecute、doInBackground、onProgressUpdate 和 onPostExecute。 OnPreExecute 您可以显示进度条,并且在 PostExecute(当 doInBackground 方法返回时)您可以隐藏它。
我 在这里读到 .NET 4.5 内置了类似的东西。 .NET 4.0 中是否有类似的东西? 如果不是,那么实现类似 android 的 AsyncTask 之类的东西是个好主意还是在 C# 中有更传统的方法来做到这一点?
问候,
担
.NET 中最接近的是使用这些事件的BackgroundWorker
类:
DoWork
- 在调用RunWorkerAsync
时发生。ProgressChanged
- 在调用ReportProgress
时发生。RunWorkerCompleted
- 在后台操作完成、取消或引发异常时发生。看看BackgroundWorker类。 它提供了您描述的所有功能。
您可以使用 BackgroundWorker 创建自己的抽象类,如此处所述AsyncTask using BackgroundWorker
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.