在窗体上添加了一个控件,自己又在当前窗体类中启动了一个Thread,在Thread的函数里判断传感器状态,将Timer的Enabled属性置为true,Timer_Tick事件却没有触发,这是什么原因呢,怎么解决?

解决方案 »

  1.   

                    timer1.Enabled = true;
                    timer1.Start();
      

  2.   

    Timer时间间隔多少,当Enabled属性置为true的时候是不触发Timer_Tick事件的,要等下一次时间间隔到了才触发,是不是你时间间隔太长了,每次都没有等到Timer_Tick事件调用
      

  3.   

    Timer时间间隔多少,当Enabled属性置为true的时候是不触发Timer_Tick事件的,要等下一次时间间隔到了才触发,是不是你时间间隔太长了,每次都没有等到Timer_Tick事件调用
    间隔时间是1000,这个问题我还是可以发现的,也就是1秒
      

  4.   

            使用 System.Timers.Timer
    private void button1_Click(object sender, EventArgs e)
            {
                Thread th = new Thread(new ThreadStart(fun));
                th.Start();
            }        private void fun()
            {
                System.Timers.Timer timer = new System.Timers.Timer();
                timer.Interval = 1000;
                timer.Enabled = true;
                timer.Elapsed += delegate { MessageBox.Show("ff"); };
            }
      

  5.   

    楼上的实现和楼主的应该不同,按照楼主的意思,Timer是当作控件开始就放到窗体上了,应该不是动态创建的,事件处理应该也有的,应该没错。
    感觉楼主还是要检查下代码,估计错误不在你现在描述的地方。多用断点和输出信息看看。
      

  6.   

    this.timer1.Elapsed+=new System.Timers.ElapsedEventHandler(test());private void test(object sender, System.Timers.ElapsedEventArgs e)
    {
       MessageBox.Show("ff");
    }
      

  7.   

    在窗体的构造函数中将Timer使能,是正常的