C#中timer定时器的用法演示

C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C# Timer使用的方法有所帮助。

关于C# Timer类  在C#里关于定时器类就有3个

C# Timer使用的方法1.定义在System.Windows.Forms里

C# Timer使用的方法2.定义在System.Threading.Timer类里  ”

C# Timer使用的方法3.定义在System.Timers.Timer类里

下面我们来具体看看这3种C# Timer用法的解释:

◆System.Windows.Forms.Timer

应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。

◆System.Timers.Timer

和System.Threading.Timer非常类似,它们是通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。

◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

C# Timer用法实例

using System;
using System.Timers;

class TestTimer
{
    public static void Main ()
    {
        Timer timer = new Timer();
        timer.Elapsed + = new ElapsedEventHandler(DisplayTimeEvent);
        timer.Interval = 1000;
        timer.Start();
        timer.Enabled = true;

        while (Console.Read ()! = 'q')
        {
            //-------------
        }
    }

    public static void DisplayTimeEvent (object source, ElapsedEventArgs e)
    {
        Console.Write({0}, DateTime.Now);
    }
}
System.Timers.Timer t =new System.Timers.Timer(10000);
//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);
//到达时间的时候执行事件;
t.AutoReset = true;
//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;
//是否执行System.Timers.Timer.Elapsed事件;

public void theout(
object source,
System.Timers.ElapsedEventArgs e)
{
    MessageBox.Show("OK!");
}

未经允许不得转载:SuperMan's blog » C#中timer定时器的用法演示

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址