sxl_88
sxl_88
2015-02-07 11:36
采纳率: 50%
浏览 4.2k
已采纳

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 2015-02-07 13:33
    已采纳

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

    点赞 评论

相关推荐