我可以在线程上成功创建一个计时器时钟吗?我正在创建一个,但似乎没有那么好。我的应用程序是一个多线程应用程序,必须在某个事件发生时在线程上启动计时器。计时器放在每个客户端连接中。时钟不起作用,直到我关闭我的winform(我不知道为什么)。有什么特别的东西,我应该知道线程中的计时器?
这是我的计时器代码:
timer1.Interval = 1000;
timer1.Tick += new EventHandler(timer_Tick);
timer1.Enabled = true;
timer1.Start();
答案 0 :(得分:4)
您可能会尝试使用System.Threading.Timer
,它基本上是一个单独的线程中的计时器。您也可以考虑使用从未触发的WaitHandle
,然后使用WaitOne(1000, false)
等待一秒钟。
答案 1 :(得分:0)
试试这个:
public void EnableTimer()
{
if (this.InvokeRequired)
this.Invoke(new Action(EnableTimer));
else
this.timer1.Enabled = true;
}