1

我正在用 C# 编写一段代码,并且我有一个 DateAndTimeSpan 以编程方式创建,如下所示:

var date = Convert.ToDateTime("24/12/2013");
var ts = Convert.ToDateTime("10:00 PM").TimeOfDay;
var dateTime = date + ts;
var datediff = DateTime.Now - dateTime;
myCountdownLabel.Content = String.Format("{0} days, {1} hours, {2} minutes, {3} seconds", datediff.Days, datediff.Hours, datediff.Minutes, datediff.Seconds);

我的问题是:而不是只在生成代码时显示日期差异然后必须按下刷新按钮来重新计算字符串,我怎样才能使它成为一个实时倒计时,其中字符串分配给 myCountdownLabel.Content每一秒都在滴答作响?

此外,我的应用程序中有大约 10 种不同的倒计时,所以这应该适用于不止 1 个倒计时,而不仅仅是这个倒计时(如果可能)。

问候,

西蒙

4

1 回答 1

1

查看 MSDN 上的DispatcherTimer 类页面。这是一个例子:

DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Update myCountdownLabel here
    dispatcherTimer.Interval = new TimeSpan(0,0,10); // Set next time interval
}
于 2013-08-07T08:15:05.807 回答