private void frmAA_Load(object sender, EventArgs e)
        {
            RunInsertData_Timer();
        }
        private bool RunInsertData_Timer()
        {
            System.Timers.Timer aTimer = new System.Timers.Timer();
            aTimer.Interval = 2000;
            aTimer.Elapsed += new System.Timers.ElapsedEventHandler(InsertData);
            aTimer.AutoReset = true;
            aTimer.Enabled = true;
            return true;
        }
        public void InsertData(object source, System.Timers.ElapsedEventArgs e)
        {
            MessageBox.Show("This is timer test");
        }请教各位大侠,上面的代码怎么会不起作用呢,messagebox.show一直没有弹出消息

解决方案 »

  1.   

    System.Timers.Timer aTimer = new System.Timers.Timer(); //<--作为类成员,就不会误被垃圾回收。
    private bool RunInsertData_Timer()
            {
                aTimer.Interval = 2000;
                aTimer.Elapsed += new System.Timers.ElapsedEventHandler(InsertData);
                aTimer.AutoReset = true;
                aTimer.Enabled = true;
                return true;
            }
      

  2.   

    没有问题的啊
    正常FORM 属性里事件frmAA_Load没有啦 这样的话就没有调用函数
      

  3.   

    测试正常        private void button2_Click(object sender, EventArgs e)
            {
                RunInsertData_Timer();
            }
            private bool RunInsertData_Timer()
            {
                System.Timers.Timer aTimer = new System.Timers.Timer();
                aTimer.Interval = 2000;
                aTimer.Elapsed += new System.Timers.ElapsedEventHandler(InsertData);
                aTimer.AutoReset = true;
                aTimer.Enabled = true;
                return true;
            }
            public void InsertData(object source, System.Timers.ElapsedEventArgs e)
            {
                MessageBox.Show("This is timer test");
            }       
      

  4.   

    但是如果我把MessageBox.show换成自己的函数, if (msg.CallService("VIEW", "View_DATA_Info", in_parm, ref out_param) == false)
                    {
                        int a = 1;
                        return;
                    }
    当到达CallService的时候,就出问题了,程序出现闪退一样的
      

  5.   


    但是如果我把MessageBox.show换成自己的函数, if (msg.CallService("VIEW", "View_DATA_Info", in_parm, ref out_param) == false)
                    {
                        int a = 1;
                        return;
                    }
    当到达CallService的时候,就出问题了,程序出现闪退一样的