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();
}
}
}