如何创建像Timer.Tick这样的事件处理程序

时间:2011-03-27 03:24:52

标签: c# .net events

如何制作一个事件处理程序,它在特定时间间隔触发,例如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);
        }
    }
}

3 个答案:

答案 0 :(得分:3)

您正在寻找其中一个Timer类。

如果您不使用WinForms,则应使用System.Timers.Timer

没有使用线程的计时器就可以做到这一点,但是它非常不值得。

答案 1 :(得分:3)

根据您的要求,System.Threading.Timer可能是一个不错的选择。

更新:在这里您可以找到三个计时器类的比较:http://msdn.microsoft.com/en-us/magazine/cc164015.aspx

答案 2 :(得分:0)