我正在做一个C#应用程序,我需要使用基于小时的组件Timer。我想知道的是,是否可以为它设定一个开始时间。例如,我希望它在早上8点开始吃,并且一整天都在工作。
答案 0 :(得分:5)
只需计算下一小时的间隔时间。例如:
private void SetTimer() {
var now = DateTime.Now;
var next = now.Date.AddHours(now.Hour + 1);
var msec = (next - now).TotalMilliseconds;
timer1.Interval = (int)msec;
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e) {
SetTimer();
// etc...
}
调用SetTimer()启动它。
答案 1 :(得分:0)
计时器仅根据间隔触发事件。如果将间隔设置为一小时,那么每小时都会有一个事件。
时钟组件会有一个计时器。时钟组件将具有时钟初始时间的所有逻辑。它会使用计时器知道何时过去了一小时。