确定刚完成哪个计时器c#

时间:2014-08-11 12:38:22

标签: c# timer

我想知道是否有办法根据'持续时间来确定刚过了哪个计时器。或者别的什么,因为我通过使用'发送者'来创建许多具有不同间隔或持续时间的个人计时器。或者' e'无需创建多个计时器或已过去的事件处理程序。

代码:

    public void timePowerup(float duration)
    {
        Timer timedDelay = new Timer();
        timedDelay.Interval = duration;
        timedDelay.AutoReset = false;
        timedDelay.Elapsed += new ElapsedEventHandler(timedDelayElapsed);
        timedDelay.Enabled = true;
    }

    public void timedDelayElapsed(object sender, ElapsedEventArgs e)
    {

    }

1 个答案:

答案 0 :(得分:4)

您可以使用sender。它是触发当前事件的计时器。尝试

public void timedDelayElapsed(object sender, ElapsedEventArgs e)
{
    Timer timer = (Timer)sender;
}

来自Events, Delegates, and CLR Event System Conventions

  

按照惯例,.NET Framework中的事件委托有两个参数,即引发事件的源(由 sender 参数表示)和事件的数据(由表示) e 参数。