C#中使用System.Timers.Timer定时器控件的例子

发布时间:2020-07-18编辑:脚本学堂
本文介绍下,C#编程中使用定时器控件System.Timers.Time的例子,有需要的朋友,可以参考下。

首先,在Global.asax文件中导入命名空间
 

<%@ Import Namespace="System.Timers" %>

然后,在Global.asax文件中的Application_Start()方法内添加如下代码:
 

System.Timers.Timer objTimer = new Timer();
objTimer.Interval = 时间; //这个时间单位毫秒,比如10秒,就写10000
objTimer.Enabled = true;
objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);

接着,在Global.asax文件中添加方法:
 

void objTimer_Elapsed(object sender, ElapsedEventArgs e)
{
//此方法内实现想做的事情。
//例如:修改Application的某一个值等。
}
 

以上3步,可以在指定时间间隔执行这个objTimer_Elapsed()方法,即达到想要的效果了。

完整代码如下:
 

复制代码 代码示例:
using System;
using System.Timers;
namespace 定时器ConsoleApplication1
{
class Class1
{ 
 [STAThread] 
 static void Main(string[] args)
 {
  System.Timers.Timer aTimer = new System.Timers.Timer();
  aTimer.Elapsed += new ElapsedEventHandler(TimeEvent);
  // 设置引发时间的时间间隔 此处设置为1秒(1000毫秒)
  aTimer.Interval = 1000;
  aTimer.Enabled = true;
  Console.WriteLine("按回车键结束程序");
  Console.WriteLine(" 等待程序的执行......");
  Console.ReadLine();
 }
 // 当时间发生的时候需要进行的逻辑处理等
// 在这里仅仅是一种方式,可以实现这样的方式很多.
// www.jb200.com
private static void TimeEvent(object source, ElapsedEventArgs e)
 {  
  // 得到 hour minute second 如果等于某个值就开始执行某个程序。
  int intHour  = e.SignalTime.Hour;
  int intMinute = e.SignalTime.Minute;
  int intSecond = e.SignalTime.Second;
  // 定制时间; 比如 在10:30 :00 的时候执行某个函数
  int iHour  = 10;
  int iMinute = 30;
  int iSecond = 00;
  // 设置  每秒钟的开始执行一次
  if( intSecond == iSecond )
  {
  Console.WriteLine("每秒钟的开始执行一次!");
  }
  // 设置 每个小时的30分钟开始执行
  if( intMinute == iMinute && intSecond == iSecond )
  {
  Console.WriteLine("每个小时的30分钟开始执行一次!");
  }
 // 设置 每天的10:30:00开始执行程序
  if( intHour == iHour && intMinute == iMinute && intSecond == iSecond )
  {
  Console.WriteLine("在每天10点30分开始执行!");
  }
 }
}
}