定时器例子

 int countSecond = 5;
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            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
            {
                //判断TextBox是否处于UI线程上
                if (TextBox.Dispatcher.CheckAccess())
                {              
                    TextBox.Text = countSecond.ToString();
                }
                else
                {
                    TextBox.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
                   {
                        TextBox.Text = countSecond.ToString();
                    }));
 
                }
                countSecond--;
            }
 
        }
posted @ 2014-10-17 11:05  逍遥帝君  阅读(205)  评论(0编辑  收藏  举报