簡體   English   中英

線程與后台工作人員與計時器-在C#中更新UI

[英]Thread vs Backgroundworker vs Timer - Updating UI in C#

我正在嘗試創建一個時鍾,使用Windows窗體在C#中進出。 我想將當前時間持續顯示在屏幕上。 我還希望能夠在他或她的電話上ping老板無線,然后用它來確定他們是否在建築物中。 我嘗試使用線程,但是后來他們無法更新UI。 我也嘗試過使用計時器,但這太慢了。 我也嘗試了后台工作者,但是我認為您不能使用后台工作者來更新UI。 我希望能夠每秒更新一次時間,並每隔一分鍾左右檢查一下老板是否在那里。 請幫助我找到一種方法,同時又不減慢一切。

實際上,您可以從后台調用中做很多事情,更新UI最簡單。

將以下代碼放在需要UI更新的后台調用中。 UI僅需要從其自己的線程中調用。

this.Invoke((MethodInvoker)delegate {
                                    LabelStatus.Text = "Yeah its working";
                                    Label2.Text = "Updated UI";
                                    // do your stuff on UI thread
                                    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM