var timer = new Timer
{
Enabled = true,
Interval = 500
};
Debug.WriteLine("new timer created");
timer.Elapsed += (s, e) =>
{
Debug.WriteLine("hello from timer");
// this doesn't get shown
// in the output window
}
我需要做些什么才能在上面的输出窗口中看到我的上一个Debug.WriteLine()
?
答案 0 :(得分:1)
您实际上没有使用单独的线程,System.Timers
计时器在UI消息泵上运行(如果可用)。如果您已阻止UI线程,则计时器将永远不会运行。
检查UI线程是否未被阻止,use System.Threading.Timer
that does not use the UI thread或将SynchronizingObject
设置为null
,以便它将使用线程池线程而不是UI线程。
编辑:或者像Hans said in his comment一样,你在控制台中运行,Main()
在计时器有机会开始之前退出。