sxl_88
sxl_88
采纳率50%
2015-02-07 11:36

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;

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • devmiao devmiao 6年前

    就你的需求来说,用一个timer是再好不过的了。你可以通过一个bool变量决定做什么,而用不着两个timer。

    点赞 5 评论 复制链接分享

相关推荐