System.Timers.Timer.Elapsed事件未触发

Mr *_*Neo 0 c# timer

Timer在Window Form Application上创建了新变量:

intervalTime = new System.Timers.Timer();
intervalTime.Interval = 5000;

intervalTime.Enabled = true;
Console.WriteLine(intervalTime.Enabled.ToString());
intervalTime.Elapsed += new ElapsedEventHandler(intervalTime_Elapsed);
Console.WriteLine(intervalTime.Enabled.ToString());
Run Code Online (Sandbox Code Playgroud)

Timer将每隔5秒执行一次ElapsedEvent:

void intervalTime_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
      //Do something....
}
Run Code Online (Sandbox Code Playgroud)

ElapsedEvent根本不开火.我应该如何解雇呢?我检查intervalTime.Enabledtrue.

我之前找到了这个问题,但它没有解决我的问题

Jua*_*anK 5

您需要先设置事件处理程序才能启动计时器.那是在你打电话之前intervalTime.Enabled = true;

using System;
using System.Timers;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            var intervalTime = new System.Timers.Timer();

            //Do IT HERE
            intervalTime.Elapsed += new ElapsedEventHandler(intervalTime_Elapsed);

            intervalTime.Interval = 5000;

            intervalTime.Enabled = true;
            Console.WriteLine(intervalTime.Enabled.ToString());
            Console.WriteLine(intervalTime.Enabled.ToString());

            Console.ReadLine();
        }


        static void intervalTime_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            //Do something....
            Console.WriteLine("New event fired");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)