我目前正在制作一个有期日期的程序,即使关闭程序,我也希望我的计时器工作,这是我的代码:
private int counter = 30;
private void Form2_Load(object sender, EventArgs e)
{
timer1.Interval = 1000; // 1 day
timer1.Tick += timer1_Tick;
timer1.Start();
}
private void timer1_Tick_1(object sender, EventArgs e)
{
counter--;
if (counter == 0)
timer1.Stop();
label3.Text = counter.ToString();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
}
如果可能的话,我很高兴知道该怎么做
如果计时器应继续计数,即使您的程序被关闭,也无法使用计时器。改用DateTime
类。
将datetime.now的值保存到磁盘(例如,使用应用程序设置),然后,为了检查有效期,再次加载该值并将其与当前时间进行比较:
假设startOfPeriod
是您到期期的开始:
if( startOfPeriod.AddDays( 30 ) < DateTime.Now )
{
// Time has expired
}
注意:请注意,在这种方法中,您的软件可以在一天中期到期。如果您不希望发生这种情况,请替换上述if
表达式:
if( startOfPeriod.Date.AddDays( 30 ) < DateTime.Now.Date )