-1

我想向我的 WinForms 添加功能,以便在它启动时启动一个计数器,该计数器将以 hh:mm 为单位。我知道这可以使用计时器来完成。我制作了一个显示当前时间的时间标签,但我不知道如何在加载表单时启动计时器。有什么方法或类吗?

4

2 回答 2

2

Timer组件放置到您的表单中(从工具箱中拖动它 - 这很重要,因为计时器应该注册为表单的组件,以便在表单关闭时正确处理)。将计时器的Interval属性设置为60000(等于一分钟)。并订阅Tick事件:

void timer1_Tick(object sender, EventArgs e)
{
    if (endTime < DateTime.Now)
    {
       MessageBox.Show("Time is out!");
       timer1.Stop();
       return;
    }

    timeLabel.Text = (endTime - DateTime.Now).ToString(@"hh\:mm");
}

Form_Load事件处理程序上启动计时器并保存倒计时结束时间:

private DateTime endTime; // field to store end time

void Form1_Load(object sender, EventArgs e)
{
    endTime = DateTime.Now.AddMinutes(120); // set countdown to 120 minutes
    timer1.Start();
}
于 2013-01-29T10:50:47.843 回答
1

计时器的创建非常简单直接:

Timer t1 = new Timer(); 
t1.Interval = 100; 
t1.Tick+=new EventHandler(t1_Tick);
t1.Start();

void t1_Tick(object sender, EventArgs e)
{

}

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.80).aspx

于 2013-01-29T10:42:12.220 回答