定义了一个 private System.Timers.Timer tm1 = null;想定时在每天的指定时间点,然后5分钟间隔内持续执行一个方法。现在程序在指定的时间点执行,但是,间隔设置了不生效,后面不会继续执行了。请帮我看一下是哪里出问题了?谢谢
private void tm1_Elapsed(object source, ElapsedEventArgs e)
{
if (DateTime.Now.Minute.ToString() == this.scsj.ToString())
{
Logger.log("到达上传时间点:" + this.scsj.ToString() + "时" + Environment.NewLine);
this.sgscbz = 0;
this.tm1.Enabled = false;
this.tm1.Elapsed -= new ElapsedEventHandler(this.tm1_Elapsed);
this.tm1.Elapsed += new ElapsedEventHandler(this.tm2_Elapsed);
this.tm1.Interval = 300000;
this.tm1.Enabled = true;
this.tm1.Start();
this.tm2_Elapsed(null, null);
}
}
private void tm2_Elapsed(object source, ElapsedEventArgs e)
{
try
{
if (this.UploadData())
{
Logger.log("***********上传成功************");
}
else
{
this.tm1.Enabled = false;
this.tm1.Stop();
}
}
catch (Exception exception)
{
Logger.log("错误" + exception.Message);
MessageBox.Show(exception.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Hand);
}
}
//定时开启按钮
private void btnOption_Click(object sender, EventArgs e)
{
if (this.dsbz == 1)
{
if (this.tm1 == null)
{
this.tm1 = new System.Timers.Timer();
this.tm1.Elapsed += new ElapsedEventHandler(this.tm1_Elapsed);
this.tm1.Interval = 1000;
this.tm1.AutoReset = true;
}
this.tm1.Enabled = true;
this.tm1.Start();
this.tm1_Elapsed(null, null);
}
else if (this.tm1 != null)
{
this.tm1.Enabled = false;
}
}