Mattepuffo

C# Timer

C# Timer

Tempo fa vi parlai di come creare un countdown in C#.

In quel caso usammo un Windows Form e un controllo Timer.

Adesso invece vediamo come usare la classe Timer dentro a un progetto console.

In pratica il mio programma svolge determinate operazioni, alla fine delle quali deve aspettare 5 secondi prima di chiudere la finestra di terminale.

 

Quindi dentro alla classe dove abbiamo il Main:

class Program
    {
        static void Main(string[] args)
        {
            // DO STUFF
            Console.WriteLine("TRA 5 SECONDI IL PROGRAMMA SI CHIUDERA");
            Timer t = new Timer();
            t.Elapsed += new ElapsedEventHandler(closeProgram);
            t.Interval = 5000;
            t.Enabled = true;
            Console.ReadKey();
        }

        private static void closeProgram(object source, ElapsedEventArgs e)
        {
            System.Environment.Exit(0);
        }
    }

Alla fine delle altre operazioni creiamo un oggetto Timer.

Alla riga sotto impostiamo la funzione da lanciare una volta finito il tempo; la funzione la troviamo alla fine e in questo caso altro non fa che chiudere il programma.

Sotto impostiamo il tempo (Interval) di 5 secondi (5000 millisecondi).

Poi lo abilitiamo.

Notate l'ultima riga:

Console.ReadKey();

Senza di questa il Main terminerebbe senza aspettare l'esecuzione del timer.

Ringrazio il forum di HTML.it per questa dritta.