Quiero utilizar un temporizador solo una vez, en 1 segundo después de la inicialización de mi formulario principal. Pensé que lo siguiente tendría un cuadro de mensaje que decía "Hola mundo" solo una vez, pero en realidad un nuevo cuadro de mensaje dice "Hola mundo" cada segundo.Usar el temporizador solo una vez
¿Por qué? Había puesto t.Stop()
en el evento tick. Además, ¿tengo que eliminar el temporizador de alguna manera para evitar fugas de memoria?
Timer t = new Timer();
t.Interval = 1000;
t.Tick += delegate(System.Object o, System.EventArgs e)
{ MessageBox.Show("Hello World"); t.Stop(); };
t.Start();
Por favor ayuda y demuestra si hay una manera mejor de hacer esto? Gracias.
+1 por ser beat'd. – Robb
Ok, eso funciona. Gracias. Pero, ¿cuál es la lógica? ¿Por qué es importante el pedido? – zaidwaqi
@zaidwaqi: El hilo va al método MessageBox.Show, y no sale hasta que presione OK. Pero no presiona OK lo suficientemente rápido, y ya ha abierto un nuevo MessageBox. –