2014-01-29 58 views
0

我是C#的新手。我的工作是執行從第1步到第3步執行任務的應用程序,並在前面顯示一個GUI,其中包含有關其中記錄的進度的信息。現在我有下面的選項,這將是最好的,我們如何能做到這一點在後臺。使用另一個線程或反之亦然更新主GUI顯示

1. Run the form (consisting of a rich text box) in background thread and put the task  process in main. 
2.Run the form in main pgm and put the task as a function running in background. 

以上哪一項是最佳方法。還是有什麼比上面的更好。如何輕鬆完成?

回答

0

我從來沒有見過一個GUI,它會被後臺線程控制,因爲它需要響應 - 事件處理正在主線程上完成。在.NET 4.0的winforms中,你有一個BackgroundWorker類,有一個ReportProgress()方法提出適當的事件,這可以在你的主表單中出現(最常見的用途是繪製一個進度條) - 這是最簡單的方法。

http://msdn.microsoft.com/en-us/library/cc221403%28v=vs.95%29.aspx

Similar topic on SO

+0

不要ü意味着有形式爲主線,並在後臺線程中的任務使用的BackgroundWorker – user2799127

+0

是的,我做的實現。保持簡單,因爲它可以。 – Tarec