问题描述
- C# Winfrom项目,如何在from窗体中控制两个timer控件时间的同步显示
-
在C# Winfrom项目中,一个from窗体,两个timer控件(timer1和timer2),两个Label控件(labe1和label2),
timer1是实现0到1分钟的倒计时显示在显示labe1中,timer2是实现到1分钟后自动显示当前时间到label2中.两个button控件(button1和button2)。button1和button2分别控制timer1的开始和暂停。
timer1.Interval =1000(1秒钟). timer2.Interval = 60000(一分钟)点击button2先暂停timer1的倒计时显示,后再点击button1开始timer1继续显示倒计时。但是发现timer1和timer2控件显示的频率不一样。
timer1跑得比timer2来的快,代码如下,请问如何处理,谢谢。开始按钮
button1_click:
timer1.Enabled = true;timer2.Enabled = true;
暂停按钮
button2_click:
timer1.Enabled = false;timer2.Enabled = false;
显示倒计时:
timer1_Tick:
TimeSpan ts = new TimeSpan(0, 1, 0); //一分钟
String str = ts.Hours.ToString() + ":" + ts.Minutes.ToString() + ":" + ts.Seconds.ToString();
label1.Text = "控制窗体:" + str + ":" + ts.Minutes.ToString();ts = ts.Subtract(new TimeSpan(0, 0, 1));//每隔一秒减去一秒
显示当前时间:
timer2_Tick:
DateTime dt = DateTime.Now;
string tmpTime = string.Format("{0:F}", dt);
label2.Text = tmpTime;
解决方案
就你的需求来说,用一个timer是再好不过的了。你可以通过一个bool变量决定做什么,而用不着两个timer。
时间: 2024-09-17 11:15:48