2012-07-19 16 views
61

Soy un novato en el temporizador en wpf y necesito un código que cada 5 minutos aparezca un cuadro de mensaje. . ¿Alguien puede ayudarme con el simple código del temporizador?¿Cómo creo un temporizador en WPF?

Eso es lo que he intentado hasta ahora:

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(); prueba de vacío privada() { dispatcherTimer.Tick + = new EventHandler (dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan (0, 0, 1); dispatcherTimer.Start(); } privada vacío dispatcherTimer_Tick (object sender, EventArgs e) { // código va aquí} private void Button1_Click (remitente del objeto, RoutedEventArgs e) { test(); } – user27

+0

He intentado este código. – user27

+5

Edite su pregunta en lugar de comentarla. – Clemens

Respuesta

125

En WPF, se utiliza 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

gracias! En cada 5 minutos hay un cuadro de mensaje en este código? – user27

+2

Donde dice "// el código va aquí", escriba "Messagebox.Show (" mensaje va aquí ");" –

+0

y no necesita la instrucción If? – user27

18

Adición de a la anterior. Utiliza el temporizador de Despacho si desea que los eventos de marca regresen al subproceso de interfaz de usuario. De lo contrario, usaría System.Timers.Timer.

Cuestiones relacionadas