我正在使用基本的 C# .NET 4.0 WinForms 应用程序。 我想要做的是编写一些逻辑,在后台线程上执行后台操作时在 GUI 线程上显示进度条。
Android 已实现 AsyncTask类有一些需要重写的方法:onPreExecute、doInBackground、onProgressUpdate 和 onPostExecute。 OnPreExecute 您可以显示进度条,而在 PostExecute(当 doInBackground 方法返回时)您可以隐藏它。
我读到here .NET 4.5 内置了类似的东西。.NET 4.0 中有类似的东西吗? 如果没有,那么实现像 android 的 AsyncTask 这样的东西是一个好主意,还是有更传统的方法在 C# 中做到这一点?
问候,
丹
最佳答案
.NET 中最接近的东西是 BackgroundWorker
类,使用这些事件:
DoWork
- 调用RunWorkerAsync
时发生。ProgressChanged
- 调用ReportProgress
时发生。RunWorkerCompleted
- 当后台操作已完成、已取消或引发异常时发生。
关于c# - .NET 相当于 Android SDK AsyncTask(我需要在后台线程上执行操作时显示进度条),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181350/