Maison > développement back-end > Tutoriel C#.Net > Application de minuterie C# Timer

Application de minuterie C# Timer

黄舟
Libérer: 2017-02-18 10:49:53
original
1975 Les gens l'ont consulté

À propos de la classe timer en C# Il existe trois classes timer en C# :
1. Défini dans System.Windows.Forms
2. Défini dans la classe System.Threading.Timer
3. Défini dans la classe System.Timers.Timer
System.Windows.Forms.Timer est utilisée dans WinForm. Elle est implémentée via le mécanisme de message Windows, similaire au contrôle Timer dans VB ou Delphi, et utilise l'API implémentée en interne par SetTimer. Ses principaux inconvénients sont que le timing n'est pas précis et qu'une boucle de messages est nécessaire, qui ne peut pas être utilisée par l'application console.
System.Timers.Timer et System.Threading.Timer sont très similaires. Ils sont implémentés via le pool de threads .NET. Ils sont légers, précis en termes de timing et n'ont aucune exigence particulière pour les applications et les messages. System.Timers.Timer peut également être appliqué à WinForm, remplaçant complètement le contrôle Timer ci-dessus. Leur inconvénient est qu’ils ne prennent pas en charge le glisser-déposer direct et nécessitent un codage manuel.
L'exemple suivant illustre l'utilisation du minuteur System.Timers.Timer.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Timers;
using System.Runtime.InteropServices;
using System.Threading;

namespace Timer001
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
        }
        //实例化Timer类
        System.Timers.Timer aTimer = new System.Timers.Timer();      

        private void button1_Click(object sender, EventArgs e)
        {
            this.SetTimerParam();
        }

        private void test(object source, System.Timers.ElapsedEventArgs e)
        {     
            MessageBox.Show(DateTime.Now.ToString());           
        }

        public void SetTimerParam()
        {
            //到时间的时候执行事件
            aTimer.Elapsed += new ElapsedEventHandler(test);
            aTimer.Interval = 1000;
            aTimer.AutoReset = true;//执行一次 false,一直执行true
            //是否执行System.Timers.Timer.Elapsed事件
            aTimer.Enabled = true;
        }
    }
}
Copier après la connexion

L'effet obtenu est le suivant : l'heure actuelle du système apparaît toutes les secondes, comme indiqué ci-dessous :



Ce qui précède est le contenu de l'application de minuterie C# Timer. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal