【发布时间】:2011-04-07 10:58:03
【问题描述】:
我正在使用 Windows 窗体启动 System.Timers.Timer 以每 3 秒触发一次事件。当我关闭表单时,该过程会继续触发,这很好。当我重新打开表单以在单击按钮 btnSendOff_Click 时停止计时器时,就会出现问题。
System.Timers.Timer sendTimer = new System.Timers.Timer();
sendTimer.Elapsed += new ElapsedEventHandler(sendProcessTimerEvent);
sendTimer.Interval = 3000;
private void sendProcessTimerEvent(object sender, EventArgs e)
{
MessageBox.Show("Send 3 sec");
}
private void btnSendOn_Click(object sender, EventArgs e)
{
sendTimer.Start();
}
private void btnSendOff_Click(object sender, EventArgs e)
{
sendTimer.Stop();
}
这个表单上会有更多的异步定时器。重新打开表单时如何停止此计时器?
【问题讨论】:
-
致电
.Stop()就可以了?您可以将其设为静态成员或在类外部引用它以保持对它的引用