我在我的构造函数中初始化了一个Windows窗体定时器(并通过编写“pTimer.Enabled = true”在适当的时候设置它运行。在构造函数中 -
pTimer = new Timer();
pTimer.Enabled = false;
pTimer.Interval = timerSpeed;
pTimer.Tick += new EventHandler(pTimer_Tick);
在计时器回调中,我正在检查我的工作是否已经完成。一旦它,我想停止计时器(从某种意义上说它不会继续调用pTimer_Tick回调)并关闭正在进行日志记录的streamwriter。
private void pTimer_Tick(object sender, EventArgs e)
{
bool tempFinished = finished();
log("finished() in timer tick = " + tempFinished.ToString());
if (tempFinished)
{
if (pTimer.Enabled == true)
{
log("We are going to stop the timer");
pTimer.Enabled = false;
Application.DoEvents();
log("We are going to close the streamwriter");
//myStreamWriter.Close();
}
}
}
似乎发生以下行为:
有没有人对这里可能出错的地方有任何建议?
谢谢! 克里斯
答案 0 :(得分:-1)
您正在通过设置Enabled
属性来启动和停止计时器。虽然你在评论中声称这已经足够了,但我并不相信。
请尝试使用Start
和Stop
计时器功能。