Timer Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Implémente un minuteur qui déclenche un événement à intervalles définis par l’utilisateur. Ce minuteur est optimisé pour une utilisation dans les applications Windows Forms et doit être utilisé dans une fenêtre.
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éclenche une alarme toutes les cinq secondes. Lorsque l’alarme se produit, un MessageBox nombre de fois que l’alarme a démarré et invite l’utilisateur à déterminer si le minuteur doit continuer à s’exécuter.
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 )
{
// 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) {
// 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
Il Timer est utilisé pour déclencher un événement à intervalles définis par l’utilisateur. Ce minuteur Windows est conçu pour un environnement monothread où les threads d’interface utilisateur sont utilisés pour effectuer le traitement. Il nécessite que le code utilisateur dispose d’une pompe de messages d’interface utilisateur disponible et fonctionne toujours à partir du même thread, ou marshale l’appel sur un autre 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. Chaque fois que la Enabled propriété est définie et que la Interval propriété est supérieure à true zéro, l’événement Tick est déclenché à intervalles en fonction du paramètre de propriétéInterval.
Cette classe fournit des méthodes pour définir l’intervalle et pour démarrer et arrêter le minuteur.
Note
Le composant minuteur Windows Forms est monothread et est limité à une précision de 55 millisecondes. Si vous avez besoin d’un minuteur multithread avec une plus grande précision, utilisez la Timer classe dans l’espace System.Timers de noms.
Constructeurs
| Nom | Description |
|---|---|
| Timer() |
Initialise une nouvelle instance de la classe Timer. |
| Timer(IContainer) |
Initialise une nouvelle instance de la Timer classe avec le conteneur spécifié. |
Propriétés
| Nom | Description |
|---|---|
| CanRaiseEvents |
Obtient une valeur indiquant si le composant peut déclencher un événement. (Hérité de Component) |
| Container |
Obtient le IContainer fichier qui contient le Component. (Hérité de Component) |
| DesignMode |
Obtient une valeur qui indique si la Component valeur est actuellement en mode création. (Hérité de Component) |
| Enabled |
Obtient ou définit si le minuteur est en cours d’exécution. |
| Events |
Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component. (Hérité de Component) |
| Interval |
Obtient ou définit l’heure, en millisecondes, avant que l’événement Tick ne soit déclenché par rapport à la dernière occurrence de l’événement Tick . |
| Site |
Obtient ou définit le ISiteComponent. (Hérité de Component) |
| Tag |
Obtient ou définit une chaîne arbitraire représentant un type d’état utilisateur. |
Méthodes
| Nom | Description |
|---|---|
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le Component. (Hérité de Component) |
| Dispose(Boolean) |
Supprime les ressources, autres que la mémoire, utilisées par le minuteur. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetService(Type) |
Retourne un objet qui représente un service fourni par le Component ou par son Container. (Hérité de Component) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| OnTick(EventArgs) |
Déclenche l’événement Tick. |
| Start() |
Démarre le minuteur. |
| Stop() |
Arrête le minuteur. |
| ToString() |
Retourne une chaîne qui représente le Timer. |
Événements
| Nom | Description |
|---|---|
| Disposed |
Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode. (Hérité de Component) |
| Tick |
Se produit lorsque l’intervalle de minuteur spécifié s’est écoulé et que le minuteur est activé. |