用Thread或Timer控件,Thread:
Console.WriteLine("开始时间:" + DateTime.Now.ToString("HH:mm:ss"));
Console.WriteLine("5s後启动test()方法:");
Thread.Sleep(5000);
Console.WriteLine("结束时间:" + DateTime.Now.ToString("HH:mm:ss"));
test();
你后面又加要求了,代码就不一样了。
这里要使用Timer和Thread线程。下面是代码:
Timer timer;
//启动按钮
private void button1_Click(object sender, EventArgs e)
{
DateTime timeBegin = dateTimePicker1.Value;
DateTime timeEnd = dateTimePicker2.Value;
while(true)
{
DateTime now = DateTime.Now;
if (now >= timeBegin && now <= timeEnd)
{
timer = new Timer();
timer.Interval = 1000 * 60 * 5;
timer.Tick += new System.EventHandler(Test);
timer.Start();
break;
}
System.Threading.Thread.Sleep(200);//休眠200毫秒判断一次时间
}
}
//停止按钮
private void button2_Click(object sender, EventArgs e)
{
timer.Stop();
}
private void Test(object sender, EventArgs e)
{
DateTime timeBegin = dateTimePicker1.Value;
DateTime timeEnd = dateTimePicker2.Value;
DateTime now = DateTime.Now;
if (now >= timeBegin && now <= timeEnd)
{
//要做的事情
}
else
{
timer.Stop();
}
}
注意Test方法需按上面来写,原来的代码写在“要做的事情”这里。
定时器可以满足你的需要