[英].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.