WPF 实现倒计时的代码,有需要的朋友可以参考下。
效果如下所示:
UI:放置一个Label ---><Label Name="lblSecond" FontSize="20" Foreground="Red" ></Label>
CS代码:
private int countSecond=300; //记录秒数
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
private DispatcherTimer disTimer = new DispatcherTimer();
disTimer.Interval = new TimeSpan(0, 0, 0, 1); //参数分别为:天,小时,分,秒。此方法有重载,可根据实际情况调用。
disTimer.Tick += new EventHandler(disTimer_Tick); //每一秒执行的方法
disTimer.Start();
}
void disTimer_Tick(object sender, EventArgs e)
{
if(countSecond==0)
{
MessageBox.Show("结束");
}
else
{
//判断lblSecond是否处于UI线程上
if (lblSecond.Dispatcher.CheckAccess())
{
lblSecond.Content=countSecnd.ToString();
}
else
{
lblSecond.Dispatcher.BeginInvoke(DispatcherPriority.Normal,(Action)(() =>{
lblSecond.Content=countSecond.ToString();
}));
}
countSecond--;
}
}