Test Timer
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Timers; namespace RM.WinClient.Utilities { public class TestTimer { static Timer ticks = new Timer(1000); static int runningTime; static DateTime mStartDateTime; static DateTime mEndDateTime; public delegate void StopTest(); public static event StopTest OnStop; public delegate void StartTest(); public static event StartTest OnStart; public delegate void Ticks(); public static event Ticks OnTick; public static int RunningTime { get { return runningTime; } } public static DateTime StartDateTime { get { return mStartDateTime; } } public static DateTime EndDateTime { get { return mEndDateTime; } } public static void Stop() { mEndDateTime = DateTime.Now; ticks.Stop(); if (OnStop != null) OnStop(); } public static void Pause() { ticks.Enabled = false; } public static void Resume() { ticks.Enabled = true; } private static void ticks_Elapsed(object sender, ElapsedEventArgs e) { runningTime++; if (OnTick != null) OnTick(); } public static void Start() { if (OnStart != null) OnStart(); ticks.Elapsed += new ElapsedEventHandler(ticks_Elapsed); runningTime = 0; mStartDateTime = DateTime.Now; ticks.Start(); } } }