我正在编写一个管理一堆计时器的程序。
用户必须手动启动它们,并且能够从每个计时器获取信息,以便知道剩余时间。
我不希望GUI冻结,因此我不希望主表单线程上有一个冻结整个事物的计时器。
那么,Timer类是否在新线程上发送定时器,还是将它保留在主UI线程上?
否则,我应该使用后台工作程序来完成此任务吗?
答案 0 :(得分:7)
System.Windows.Forms.Timer
事件在UI线程上运行。
相反,您可以使用在工作线程上运行的System.Threading.Timer
。
参考。 :Comparing the Timer Classes in the .NET Framework Class Library
答案 1 :(得分:0)