我在我的Windows应用程序中使用SystemEvents.TimeChanged事件,它触发两次。 我使用的代码:SystemEvents.TimeChanged触发两次
using System;
using Microsoft.Win32;
namespace DateTimeTests
{
class Program
{
static void Main(string[] args)
{
SystemEvents.TimeChanged += new EventHandler(SystemEvents_TimeChanged);
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
static void SystemEvents_TimeChanged(object sender, EventArgs e)
{
Console.WriteLine("Time changed: {0}", DateTime.Now);
}
}
}
我试图改变的时间在Windows和事件发生时的两倍。为什么?
你确定你只改变了一次?例如小时然后分钟。这是一个使用消息泵的静态事件,因此如果它在编辑时在任何日期时间的任何部分夹住消息,就可以获得一批消息。事实上,由于没有输入值,因此点击ok按钮可能不是? – 2013-02-24 14:34:43