如何制作一个事件处理程序,它在特定时间间隔触发,例如System.Windows.Form.Timer
具有Tick
事件,该事件以给定的时间间隔触发。
我想做下面的例子。
示例:
void myClass_Tick(object sender, EventArgs e)
{
/*
I want this event to be occur every 10 sec or 20 sec depends upon
value of myClass.Interval.
I don't want to use Timer class which check at every Tick and
fire my event when desired value is met.
*/
}
更新
class myClass
{
public int Interval { get; set; }
public event EventHandler Tick; // I want this event handler to work as timer.Tick
protected virtual void OnTick(EventArgs e)
{
if (Tick != null)
{
Tick(this, e);
}
}
}
答案 0 :(得分:3)
您正在寻找其中一个Timer
类。
如果您不使用WinForms,则应使用System.Timers.Timer
。
没有使用线程的计时器就可以做到这一点,但是它非常不值得。
答案 1 :(得分:3)
根据您的要求,System.Threading.Timer
可能是一个不错的选择。
更新:在这里您可以找到三个计时器类的比较:http://msdn.microsoft.com/en-us/magazine/cc164015.aspx
答案 2 :(得分:0)