为什么我不能在运行时修改Timer.ineterval?

时间:2016-06-23 09:52:23

标签: c# timer

这是我想要实现的方案,
我的程序有一个计时器,其间隔设置为10秒(10000毫秒) 我想检查特定条件,例如,如果特定文件存在或已更改,则相应地更改timer.interval 这是我的代码:

  static void Main(string[] args)
    {
        timer.Interval =10000;
        timer.Elapsed += new System.Timers.ElapsedEventHandler(WriteToConsole);
        timer.Start();
        if(fileExists(@"C:\temp\1.txt"))
        {
           timer.Interval =20000; //20 seconds
        }
        else if(fileExists(@"C:\temp\2.txt"))
        {
           timer.Interval =15000; // 15 seconds
        }

    }

   public static void WriteToConsole(object sender, System.Timers.ElapsedEventArgs args)
    {
        Console.WriteLine(DateTime.UtcNow);

    }

但它不起作用,因为我需要它 我已经读过这些,但找不到解决办法 1 - 2 - 3

1 个答案:

答案 0 :(得分:1)

在指定间隔后尝试编写开始,或者停止计时器并稍后重新开始。