TimeSpan倒数计时器

时间:2015-05-02 23:14:18

标签: c# timer countdown countdowntimer

我正试图在我的应用程序中显示倒计时:

private TimeSpan ts = new TimeSpan()


ts = ts.Subtract(TimeSpan.FromSeconds(1));
label4.Text = ts.ToString(@"hh\:mm\:ss");

但是,它不会显示倒计时,但实际上会增加时间。如果我删除了@"hh\:mm\:ss"部分,那么我会在几秒钟内完成倒计时但不是真正的倒计时。它只是在秒之前添加一个减号,所以它-1, -2, -3,等...我希望它来自10 to 0 so -9, -8, -7,等...

如何以hh:mm:ss的形式进行真正的倒计时?

2 个答案:

答案 0 :(得分:4)

将ts初始化为10 :(您当前正在将其初始化为0并递减它)

private TimeSpan ts = TimeSpan.FromSeconds(10)
...
ts = ts.Subtract(TimeSpan.FromSeconds(1));
label4.Text = ts.ToString(@"hh\:mm\:ss");

答案 1 :(得分:0)

您的代码总是从0秒的时间跨度减去1秒的时间。

也许你正在寻找这样的东西:

public string PrettyTimespan(DateTime finalDate)
{
  return (finalDate - DateTime.Now).ToString(@"hh\:mm\:ss");
}