2012-07-19 2 views
61

Je suis un débutant en minuterie dans wpf et j'ai besoin d'un code que toutes les 5 minutes, il y a une boîte de message apparaîtra. .can quelqu'un peut m'aider pour le code simple de minuterie.Comment créer une minuterie dans WPF?

C'est ce que j'ai essayé jusqu'à présent:

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(); test de vide privé() { dispatcherTimer.Tick + = new EventHandler (dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan (0, 0, 1); dispatcherTimer.Start(); } private void dispatcherTimer_Tick (expéditeur d'objet, EventArgs e) { // Code va ici } private void button1_Click (expéditeur d'objet, RoutedEventArgs e) { test(); } – user27

+0

J'ai essayé ce code. – user27

+5

Modifiez votre question au lieu de la commenter. – Clemens

Répondre

125

Dans WPF, vous utilisez un 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

merci! Toutes les 5 minutes il y a une boîte de message dans ce code? – user27

+2

Où il est dit "// code va ici", écrivez "Messagebox.Show (" message va ici ");" –

+0

et il n'a pas besoin d'une déclaration Si? – user27

18

Ajoutant à ce qui précède. Vous utilisez la minuterie d'acheminement si vous souhaitez que les événements de tick soient ramenés au thread d'interface utilisateur. Sinon, j'utiliserais System.Timers.Timer.