日期:2014-05-16  浏览次数:21195 次

Timer.Enabled设置成false,为什么timer还能不断的触发?
我对于这个属性的理解是,只要是设置成了false,就不会有时钟触发了。于是我写了个小程序:

        static void Main(string[] args)
        {
            Timer m = new Timer(100);
            m.Elapsed += (source, e) => { Console.WriteLine("hello"); };
            m.Enabled = false;
            m.Start();
            Console.ReadKey();
        }

可是在m.Start之后,屏幕上面还是不断的显示"hello"这样的逐行输出。那么我写的m.Enabled=false这句话是没有起作用呢,还是我的理解不正确?

谢谢。
------解决方案--------------------
把enable=false放到start后面
------解决方案--------------------
 m.Enabled = false; 与m.Start();功能是一样的
你前面false了后面又Start了等于又把Enabled=true了明白没。
这两个一个是属性 一个是方法。他们的对time启停是一样的,

------解决方案--------------------
m.Start();实际就是m.Enabled = true;
------解决方案--------------------
引用:
m.Start();实际就是m.Enabled = true;

+1
------解决方案--------------------
引用:
Quote: 引用:

m.Start();实际就是m.Enabled = true;

+1

LZ真会开玩笑