我正试图在我的应用程序中显示倒计时:
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
的形式进行真正的倒计时?
答案 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");
}