Timer Classe

Définition

Implémente une minuterie déclenchant un événement selon un intervalle défini par l'utilisateur.Implements a timer that raises an event at user-defined intervals. L’utilisation de cette minuterie a été optimisée pour les applications Windows Forms et doit avoir lieu dans une fenêtre.This timer is optimized for use in Windows Forms applications and must be used in a window.

public ref class Timer : System::ComponentModel::Component
public class Timer : System.ComponentModel.Component
type Timer = class
    inherit Component
Public Class Timer
Inherits Component
Héritage

Exemples

L’exemple suivant implémente un minuteur d’intervalle simple, qui définit une alarme toutes les cinq secondes.The following example implements a simple interval timer, which sets off an alarm every five seconds. Lorsque l’alarme se produit, un MessageBox affiche le nombre de fois où l’alarme a démarré et invite l’utilisateur à indiquer si la minuterie doit continuer à s’exécuter.When the alarm occurs, a MessageBox displays a count of the number of times the alarm has started and prompts the user as to whether the timer should continue to run.

public ref class Class1
{
private:
   static System::Windows::Forms::Timer^ myTimer = gcnew System::Windows::Forms::Timer;
   static int alarmCounter = 1;
   static bool exitFlag = false;

   // This is the method to run when the timer is raised.
   static void TimerEventProcessor( Object^ /*myObject*/, EventArgs^ /*myEventArgs*/ )
   {
      myTimer->Stop();
      
      // Displays a message box asking whether to continue running the timer.
      if ( MessageBox::Show( "Continue running?", String::Format( "Count is: {0}", alarmCounter ), MessageBoxButtons::YesNo ) == DialogResult::Yes )
      {
         
         // Restarts the timer and increments the counter.
         alarmCounter += 1;
         myTimer->Enabled = true;
      }
      else
      {
         
         // Stops the timer.
         exitFlag = true;
      }
   }


public:
   static void Main()
   {
      
      /* Adds the event and the event handler for the method that will 
                process the timer event to the timer. */
      myTimer->Tick += gcnew EventHandler( TimerEventProcessor );
      
      // Sets the timer interval to 5 seconds.
      myTimer->Interval = 5000;
      myTimer->Start();
      
      // Runs the timer, and raises the event.
      while ( exitFlag == false )
      {
         
         // Processes all the events in the queue.
         Application::DoEvents();
      }
   }

};

int main()
{
   Class1::Main();
}

public class Class1 {
    static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
    static int alarmCounter = 1;
    static bool exitFlag = false;
 
    // This is the method to run when the timer is raised.
    private static void TimerEventProcessor(Object myObject,
                                            EventArgs myEventArgs) {
       myTimer.Stop();
 
       // Displays a message box asking whether to continue running the timer.
       if(MessageBox.Show("Continue running?", "Count is: " + alarmCounter, 
          MessageBoxButtons.YesNo) == DialogResult.Yes) {
          // Restarts the timer and increments the counter.
          alarmCounter +=1;
          myTimer.Enabled = true;
       }
       else {
          // Stops the timer.
          exitFlag = true;
       }
    }
 
    public static int Main() {
       /* Adds the event and the event handler for the method that will 
          process the timer event to the timer. */
       myTimer.Tick += new EventHandler(TimerEventProcessor);
 
       // Sets the timer interval to 5 seconds.
       myTimer.Interval = 5000;
       myTimer.Start();
 
       // Runs the timer, and raises the event.
       while(exitFlag == false) {
          // Processes all the events in the queue.
          Application.DoEvents();
       }
    return 0;
    }
 }
    
Public Class Class1
    Private Shared WithEvents myTimer As New System.Windows.Forms.Timer()
    Private Shared alarmCounter As Integer = 1
    Private Shared exitFlag As Boolean = False    
    
    ' This is the method to run when the timer is raised.
    Private Shared Sub TimerEventProcessor(myObject As Object, _
                                           ByVal myEventArgs As EventArgs) _
                                       Handles myTimer.Tick
        myTimer.Stop()
        
        ' Displays a message box asking whether to continue running the timer.
        If MessageBox.Show("Continue running?", "Count is: " & alarmCounter, _
                            MessageBoxButtons.YesNo) = DialogResult.Yes Then
            ' Restarts the timer and increments the counter.
            alarmCounter += 1
            myTimer.Enabled = True
        Else
            ' Stops the timer.
            exitFlag = True
        End If
    End Sub
    
    Public Shared Sub Main()
        ' Adds the event and the event handler for the method that will
        ' process the timer event to the timer.
        
        ' Sets the timer interval to 5 seconds.
        myTimer.Interval = 5000
        myTimer.Start()
        
        ' Runs the timer, and raises the event.
        While exitFlag = False
            ' Processes all the events in the queue.
            Application.DoEvents()
        End While

    End Sub    

End Class

Remarques

Un Timer est utilisé pour déclencher un événement à des intervalles définis par l’utilisateur.A Timer is used to raise an event at user-defined intervals. Ce minuteur Windows est conçu pour un environnement à thread unique dans lequel les threads d’interface utilisateur sont utilisés pour effectuer le traitement.This Windows timer is designed for a single-threaded environment where UI threads are used to perform processing. Il exige que le code utilisateur dispose d’une pompe de messages d’interface utilisateur et qu’il fonctionne toujours à partir du même thread, ou qu’il marshale l’appel sur un autre thread.It requires that the user code have a UI message pump available and always operate from the same thread, or marshal the call onto another thread.

Lorsque vous utilisez ce minuteur, utilisez l’événement Tick pour effectuer une opération d’interrogation ou pour afficher un écran de démarrage pendant une période spécifiée.When you use this timer, use the Tick event to perform a polling operation or to display a splash screen for a specified period of time. Chaque fois que la propriété Enabled a la valeur true et que la propriété Interval est supérieure à zéro, l’événement Tick est déclenché à des intervalles basés sur le paramètre de propriété Interval.Whenever the Enabled property is set to true and the Interval property is greater than zero, the Tick event is raised at intervals based on the Interval property setting.

Cette classe fournit des méthodes permettant de définir l’intervalle et de démarrer et d’arrêter le minuteur.This class provides methods to set the interval, and to start and stop the timer.

Notes

Le composant Timer Windows Forms est à thread unique et est limité à une précision de 55 millisecondes.The Windows Forms Timer component is single-threaded, and is limited to an accuracy of 55 milliseconds. Si vous avez besoin d’un minuteur multithread avec une plus grande précision, utilisez la classe Timer dans l’espace de noms System.Timers.If you require a multithreaded timer with greater accuracy, use the Timer class in the System.Timers namespace.

Constructeurs

Timer()

Initialise une nouvelle instance de la classe Timer.Initializes a new instance of the Timer class.

Timer(IContainer)

Initialise une nouvelle instance de la classe Timer avec le conteneur spécifié.Initializes a new instance of the Timer class together with the specified container.

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.Gets a value indicating whether the component can raise an event.

(Hérité de Component)
Container

Obtient le IContainer qui contient Component.Gets the IContainer that contains the Component.

(Hérité de Component)
DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.Gets a value that indicates whether the Component is currently in design mode.

(Hérité de Component)
Enabled

Obtient ou définit si la minuterie est en cours d'exécution.Gets or sets whether the timer is running.

Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.Gets the list of event handlers that are attached to this Component.

(Hérité de Component)
Interval

Obtient ou définit l'heure, en millisecondes, avant le déclenchement de l'événement Tick par rapport à la dernière occurrence de l'événement Tick.Gets or sets the time, in milliseconds, before the Tick event is raised relative to the last occurrence of the Tick event.

Site

Obtient ou définit le ISite de Component.Gets or sets the ISite of the Component.

(Hérité de Component)
Tag

Obtient ou définit une chaîne arbitraire représentant un certain type d'état d'utilisateur.Gets or sets an arbitrary string representing some type of user state.

Méthodes

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.Releases all resources used by the Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources (autres que la mémoire) utilisées par la minuterie.Disposes of the resources, other than memory, used by the timer.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.Returns an object that represents a service provided by the Component or by its Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Hérité de MarshalByRefObject)
OnTick(EventArgs)

Déclenche l'événement Tick.Raises the Tick event.

Start()

Démarre la minuterie.Starts the timer.

Stop()

Arrête la minuterie.Stops the timer.

ToString()

Retourne une chaîne qui représente Timer.Returns a string that represents the Timer.

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Hérité de Component)
Tick

Se produit lorsque l'intervalle spécifié est écoulé et que la minuterie est activée.Occurs when the specified timer interval has elapsed and the timer is enabled.

S’applique à