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 une minuterie déclenchant un événement selon un intervalle défini par l'utilisateur. L’utilisation de cette minuterie a été optimisée pour les applications Windows Forms et doit avoir lieu 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 affiche le nombre de fois où 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
Un Timer est utilisé pour déclencher un événement à intervalles définis par l’utilisateur. Ce minuteur Windows est conçu pour un environnement à thread unique 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é a la true
valeur et que la Interval propriété est supérieure à zéro, l’événement Tick est déclenché à intervalles réguliers 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.
Notes
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 de System.Timers noms.
Constructeurs
Timer() |
Initialise une nouvelle instance de la classe Timer. |
Timer(IContainer) |
Initialise une nouvelle instance de la classe Timer avec le conteneur spécifié. |
Propriétés
CanRaiseEvents |
Obtient une valeur qui indique si le composant peut déclencher un événement. (Hérité de Component) |
Container |
Obtient le IContainer qui contient la Component. (Hérité de Component) |
DesignMode |
Obtient une valeur qui indique si Component est actuellement en mode design. (Hérité de Component) |
Enabled |
Obtient ou définit si la minuterie est en cours d'exécution. |
Events |
Obtient la liste des gestionnaires d'événements attachés à ce 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. |
Site |
Obtient ou définit le ISite de Component. (Hérité de Component) |
Tag |
Obtient ou définit une chaîne arbitraire représentant un certain type d'état d'utilisateur. |
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. (Hérité de MarshalByRefObject) |
Dispose() |
Libère toutes les ressources utilisées par Component. (Hérité de Component) |
Dispose(Boolean) |
Libère les ressources (autres que la mémoire) utilisées par la minuterie. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office 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 en cours 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 Component ou par son Container. (Hérité de Component) |
GetType() |
Obtient le 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 Object actuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
OnTick(EventArgs) |
Déclenche l’événement Tick. |
Start() |
Démarre la minuterie. |
Stop() |
Arrête la minuterie. |
ToString() |
Retourne une chaîne qui représente Timer. |
Événements
Disposed |
Se produit lorsque le composant est supprimé par un appel à la méthode Dispose(). (Hérité de Component) |
Tick |
Se produit lorsque l'intervalle spécifié est écoulé et que la minuterie est activée. |