2012-07-19 77 views
61

我是wpf計時器的新手,我需要一個代碼,每5分鐘有一個消息框會彈出。 。任何人都可以幫助我定時器的簡單代碼。如何在WPF中創建一個計時器?

這就是我試過到目前爲止:

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); 
private void test() 
{ 
    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); 
    dispatcherTimer.Interval = new TimeSpan(0, 0, 1); 
    dispatcherTimer.Start(); 
} 
private void dispatcherTimer_Tick(object sender, EventArgs e) 
{ 
    // code goes here 
} 

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    test(); 
} 
+0

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); private void test() dispatcherTimer.Tick + = new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan(0,0,1); dispatcherTimer.Start(); } 私人無效dispatcherTimer_Tick(對象發件人,EventArgs的) { //代碼到這裏 } 私人無效的button1_Click(對象發件人,RoutedEventArgs E) { 測試(); } – user27 2012-07-19 11:44:58

+0

我試過這段代碼。 – user27 2012-07-19 11:45:26

+5

編輯你的問題,而不是評論它。 – Clemens 2012-07-19 11:52:43

回答

125

在WPF中,您使用DispatcherTimer

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


private void dispatcherTimer_Tick(object sender, EventArgs e) 
{ 
    // code goes here 
} 

More info here

+0

謝謝!每5分鐘在這個代碼中有一個消息框? – user27 2012-07-19 11:48:31

+2

它說「// code goes here」,寫「Messagebox.Show(」message goes here「);」 – 2012-07-19 11:50:53

+0

它不需要If語句? – user27 2012-07-19 11:52:57

18

添加到上方。如果您想將編號事件編組回到UI線程,則使用Dispatch計時器。否則,我會使用System.Timers.Timer。