>  기사  >  백엔드 개발  >  C# 타이머 타이머 애플리케이션

C# 타이머 타이머 애플리케이션

黄舟
黄舟원래의
2017-02-18 10:49:531950검색

C#의 타이머 클래스 정보 C#에는 세 가지 타이머 클래스가 있습니다.
1. System.Windows.Forms에 정의됨
2. System.Threading.Timer 클래스에 정의됨
3. 다음에서 정의됨 System.Timers.Timer 클래스
System.Windows.Forms.Timer는 WinForm에서 사용되며 VB 또는 Delphi의 Timer 컨트롤과 유사하며 내부적으로 API를 사용합니다. 주요 단점은 타이밍이 정확하지 않고 콘솔 응용 프로그램에서 사용할 수 없는 메시지 루프가 필요하다는 것입니다.
System.Timers.Timer와 System.Threading.Timer는 .NET 스레드 풀을 통해 구현되며, 가볍고 타이밍이 정확하며 애플리케이션과 메시지에 대한 특별한 요구 사항이 없습니다. System.Timers.Timer는 WinForm에 적용하여 위의 Timer 컨트롤을 완전히 대체할 수도 있습니다. 단점은 직접 드래그 앤 드롭을 지원하지 않으며 수동 코딩이 필요하다는 것입니다.
다음 예에서는 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;
        }
    }
}

달성된 효과는 다음과 같습니다. 아래와 같이 현재 시스템 시간이 매초마다 표시됩니다.



위 내용은 C# Timer 타이머 애플리케이션 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.