TimeSpan 倒数计时器
TimeSpan countdown timer
我正在尝试在我的应用程序中显示倒计时:
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
的形式进行真正的倒计时?
将ts初始化为10:(您当前正在将其初始化为0并递减)
private TimeSpan ts = TimeSpan.FromSeconds(10)
...
ts = ts.Subtract(TimeSpan.FromSeconds(1));
label4.Text = ts.ToString(@"hh\:mm\:ss");
您的代码总是从 0 秒时间跨度中减去 1 秒时间跨度。
也许您正在寻找这样的东西:
public string PrettyTimespan(DateTime finalDate)
{
return (finalDate - DateTime.Now).ToString(@"hh\:mm\:ss");
}
我正在尝试在我的应用程序中显示倒计时:
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
的形式进行真正的倒计时?
将ts初始化为10:(您当前正在将其初始化为0并递减)
private TimeSpan ts = TimeSpan.FromSeconds(10)
...
ts = ts.Subtract(TimeSpan.FromSeconds(1));
label4.Text = ts.ToString(@"hh\:mm\:ss");
您的代码总是从 0 秒时间跨度中减去 1 秒时间跨度。
也许您正在寻找这样的东西:
public string PrettyTimespan(DateTime finalDate)
{
return (finalDate - DateTime.Now).ToString(@"hh\:mm\:ss");
}