码迷,mamicode.com
首页 > 其他好文 > 详细

Timer

时间:2015-12-31 12:13:59      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

timer类有三种

1.System.Windows.Forms.Timer 

使用地方:Windows 窗体应用程序中,并且必须在窗口中使用。 

2.System.Timers.Timer

使用地方:在应用程序中

一类是执行方法:

1.System.Threading.Timer

使用地方:执行方法的机制,无法继承此类。

 

System.Windows.Forms.timer 用法

 

1.System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();//实例化一个timer

2.myTimer.Tick += new EventHandler(函数名); //给timer挂起事件//函数的参数为(Object myObject,EventArgs myEventArgs)

3.myTimer.Enabled = true;//使timer可用

4.myTimer.Interval = n; //设置时间间隔,以毫秒为单位

5.myTimer.Stop(); //如果要暂停计时则使用Stop()方法

6.myTimer.Enabled = false;//若要停止使用timer,则使之不可用

 

 

System.Timers.Timer用法:

技术分享
1 System.Timers.Timer t = new System.Timers.Timer(10000);   //实例化Timer类,设置间隔时间为10000毫秒;   
2     t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;   
3     t.AutoReset = true;   //设置是执行一次(false)还是一直执行(true);   
4     t.Enabled = true;     //是否执行System.Timers.Timer.Elapsed事件;   
5     
6     public void theout(object source, System.Timers.ElapsedEventArgs e)   
7      {   
8         MessageBox.Show("OK!");   
9      }  
技术分享

 

 

System.Threading.Timer用法:

Demo application:

应用场景:在windows form程序自动执行某项工作后,希望其windows form能够自动关闭。

代码设计:(1)首先声明Timer变量:

private System.Threading.Timer timerClose;

 

(2)在上述自动执行代码后面添加如下Timer实例化代码:

// Create a timer thread and start it

timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, 0);

 

Timer构造函数参数说明:

Callback:一个 TimerCallback 委托,表示要执行的方法。

State:一个包含回调方法要使用的信息的对象,或者为空引用(Visual Basic 中为 Nothing)。

dueTime:调用 callback 之前延迟的时间量(以毫秒为单位)。指定 Timeout.Infinite 以防止计时器开始计时。指定零 (0) 以立即启动计时器。

Period:调用 callback 的时间间隔(以毫秒为单位)。指定 Timeout.Infinite 可以禁用定期终止。

 

(3)定义TimerCallback委托要执行的方法:

private void timerCall(object obj)

{

      timerClose.Dispose();

      this.Close();

}

技术分享
 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 using System.Threading;
10 
11 namespace MYTimerTest
12 {
13  public partial class Form1 : Form
14  {
15  public Form1()
16  {
17  InitializeComponent();
18  }
19 
20 private void Form1_Load(object sender, EventArgs e)
21  {
22 
23 System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(timer_Elapsed), null, 0, 1000);
24  }
25 
26 void timer_Elapsed(object sender)
27  {
28  for (int i = 0; i < 10; i++)
29  {
30  Console.Out.WriteLine(DateTime.Now + " " + DateTime.Now.Millisecond.ToString() + "timer in:");
31  }
32 
33  }
34  }
35 }
技术分享

Timer

标签:

原文地址:http://www.cnblogs.com/zhayunjia/p/5091060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!