程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> timer,javatimer

timer,javatimer

編輯:C#入門知識

timer,javatimer


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掛起事件

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 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved