Desidero utilizzare un timer solo una volta, a 1 secondo dopo l'inizializzazione del mio modulo principale. Ho pensato che quanto segue avrebbe una casella di messaggio che diceva "Hello World" solo una volta, ma in realtà una nuova finestra di messaggio dice "Hello World" ogni secondo.Utilizzo del timer una sola volta
Perché così? Ho inserito t.Stop()
nell'evento tick. Inoltre, è necessario smaltire il timer in qualche modo per evitare perdite di 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();
Si prega di aiutare e mostrare se c'è un modo migliore per farlo? Grazie.
+1 per essere battuti. – Robb
Ok, questo funziona. Grazie. Ma qual è la logica? Perché l'ordine è importante? – zaidwaqi
@zaidwaqi: il thread entra nel metodo MessageBox.Show e non esce finché non si preme OK. Ma non si preme OK abbastanza velocemente, e ha già aperto un nuovo MessageBox. –