winform c# 如写一个定时开始,结束的时间代码

2025-03-04 11:19:55
推荐回答(3个)
回答1:

用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();

回答2:

你后面又加要求了,代码就不一样了。

这里要使用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方法需按上面来写,原来的代码写在“要做的事情”这里。

回答3:

定时器可以满足你的需要