Timer和DispatcherTimer簡單使用
1. 設定計時器相關屬性,使用委托方法處理事件觸發
DispatcherTimer dispatcherTimer= new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, _heartBeat.Period);
dispatcherTimer.Start();
2.一種比較安全的使用方法
private Timer aTimer = null;
private delegate void TimerDispatcherDelegate();
public MainWindow() {
InitializeComponent();
aTimer = new Timer(1000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 1000;
aTimer.Enabled = true;
}
private void OnTimedEvent(object sender, EventArgs e) {
this.Dispatcher.Invoke(DispatcherPriority.Normal, new TimerDispatcherDelegate(updateUI));
}
private void updateUI() {
timeLabel.Content = DateTime.Now.ToUniversalTime();
}
}
Timer和DispatcherTimer簡單使用