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

c#关于timer
碰到一个情况请指教,把timer.enabled =true;但过了时间timer 内容也不执行,是为什么。


------解决方案--------------------
Timer应该是在初使化时去定义,在用到Timer时Enabled 直接设置为True


    public Serial_Xray()
        {
            port=new SerialPort();
            port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);

            

            receive_timer.Enabled = True;

            
            
            send_timer.Enabled = True;


            for (int i = 0; i < 1024; i++)
            {
                readbuffer[i] = 0;
            }
            


        }
------解决方案--------------------
引用:
Quote: 引用:

c#里一共有3个Timer  System.Timers.Timer,线程,控件。你用的应该是第一个,请问你的
 receive_timer.Start() 在哪?


上面·receive_timer.enabled=true;那个就是start啊 

刚才看错了,你用的是控件Timer Enable是说控件有效,但是你并没有启动定时器呀,所以要调用timer.Start();