线程vs后台线程vs定时器——c#中的UI更新
本文关键字:线程 vs UI 更新 中的 定时器 后台 | 更新日期: 2023-09-27 17:51:22
我正在尝试创建一个在c#中使用windows窗体打卡进出的时钟。我想有当前的时间不断显示在屏幕上。我还希望能够定位到老板手机上的无线网络,然后用它来确定他们是否在大楼里。我尝试使用线程,但他们不能更新UI。我也尝试过使用计时器,但它是超级延迟。我也尝试过后台工作器,但我认为你不能用后台工作器更新UI。我希望能够每秒钟更新一次时间,并检查老板是否每分钟左右在那里。请帮我找到一个不耽误一切的方法。
你可以从后台调用做很多事情,更新UI是最简单的。
将以下代码放入需要UI更新的后台调用中。UI只需要从它自己的线程中调用。
this.Invoke((MethodInvoker)delegate {
LabelStatus.Text = "Yeah its working";
Label2.Text = "Updated UI";
// do your stuff on UI thread
});