定时器方法在方法内部不会触发

时间:2017-01-06 14:48:07

标签: c# timer

我有一个名为

的方法
public void OnCaptured(CaptureResult captureResult){}

在这些方法的内部我想调用计时器,我试图启用计时器但它根本不会触发,我也尝试创建另一个方法并在上面的方法中调用它来调用计时器滴答并且再次没有&# 39;完全没有工作。

这是我的计时器代码:

private void TimeCountDown_Tick(object sender, EventArgs e)
{
    int count = int.Parse(lblCount.Text) -1;
    InvokeCD(count.ToString());
     if (count < 0) {
       TimeCountDown.Enabled = false;
       InvokeCD("5");
     }
}

1 个答案:

答案 0 :(得分:1)

您必须调用Start()方法才能使计时器正常工作。设置属性Enabled to true还不够。

这个有用:

System.Timers.Timer timer = new System.Timers.Timer(1000); //it will run every one second

public void OnCaptured(CaptureResult captureResult)
{
     timer.Elapsed += TimeCountDown_Tick;
     timer.Start();
}

private void TimeCountDown_Tick(object sender, System.Timers.ElapsedEventArgs e)
 {
    int count = int.Parse(lblCount.Text) -1;
    InvokeCD(count.ToString());
     if (count < 0) {
       TimeCountDown.Enabled = false;
       InvokeCD("5");
     }
}