首页 > 代码库 > 定时器例子

定时器例子

 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--;
            }
        }

定时器例子