Home  >  Article  >  Backend Development  >  C# Timer timer application

C# Timer timer application

黄舟
黄舟Original
2017-02-18 10:49:531918browse

About the timer class in C# There are three timer classes in C#:
1. Defined in System.Windows.Forms
2. Defined in the System.Threading.Timer class
3. Defined in the System.Timers.Timer class
System.Windows.Forms.Timer is used in WinForm. It is implemented through the Windows message mechanism, similar to the Timer control in VB or Delphi, and uses API internally. Implemented by SetTimer. Its main disadvantages are that the timing is not precise, and a message loop is required, which cannot be used by Console Application.
System.Timers.Timer and System.Threading.Timer are very similar. They are implemented through .NET Thread Pool. They are lightweight, accurate in timing, and have no special requirements for applications and messages. System.Timers.Timer can also be applied to WinForm, completely replacing the above Timer control. Their disadvantage is that they do not support direct drag and drop and require manual coding.
The following example illustrates the usage of System.Timers.Timer 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;
        }
    }
}

The effect achieved is: the current system time pops up every second, as shown below:



The above is the content of C# Timer timer application. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn