我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.Enabled的true.
我之前找到了这个问题,但它没有解决我的问题
您需要先设置事件处理程序才能启动计时器.那是在你打电话之前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)