private void InitializeTimer()
    {
        //' Run this procedure in an appropriate event.
        // Set to 5000 second.
        //this.timer1.Interval = 3000;
        this.timer1.Interval = int.Parse(this.txtDuration.Text.ToString()) * 6000;
        // Enable timer.
        this.timer1.Enabled = true;
        this.timer1.Start();//开始运行  
    }
  
  
    private void timer1_Tick(object sender, EventArgs e)
    {
        
         DataUpdata();    
    }
      private void OK_Click(object sender, EventArgs e)
    {
        InitializeTimer();
        this.Cursor = Cursors.WaitCursor;
      
    }我发现DataUpdata(); 函数一直在执行,timer的时间间隔不管用好像,虽然设了5分钟执行一次,在这5分钟内DataUpdata(); 就没停止 

解决方案 »

  1.   

    我用没出现过你说的这种情况。DataUpdata();这个函数没有对TIMER的控制吧?
      

  2.   

    private void timer1_Tick(object sender, EventArgs e)
        {
            debug.writeline(datetime.now);看看执行情况
             DataUpdata();    
        }
      

  3.   

    谢谢了,DataUpdata();里面没写任何跟timer有关的东西啊
      

  4.   

    加上
     this.timer1.AutoReset = true
    试试
      

  5.   

    'System.Windows.Forms.Timer' に 'AutoReset' の定義が含まれておらず、型 'System.Windows.Forms.Timer' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。这个怎么处理啊?
      

  6.   

    不好意思,好像是说'System.Windows.Forms.Timer' 里没有AutoReset的定义
      

  7.   

    用到时钟的就这些,其它代码跟这些没关系吧?DataUpdata();是往数据库里插入数据的,其中id是自动增一的,我看它一直再增,这个函数是先把表里数据清空然后插入数据,虽然清空了,接下来再插入数据的时候还是在上一次基础上增加,所以就200多条数据我看到id呼呼很快增加到快10000了,才发现这个函数一直在运行的
      

  8.   

    虽然每次插入数据一直是200多条,那个id一直在增,假设第一次插入id 最大200,下次从201开始到400,再下次401到600了。
      

  9.   


    那不是timer 的问题.
    你数据库的问题.
      

  10.   

     this.timer1.Interval = int.Parse(this.txtDuration.Text.ToString()) * 6000;不好意思,我真是个猪,6000才是6秒,我说怎么变化那么快呢,谢谢大家了
      

  11.   

    删除表内容的用delete时id就一直累加,用trucate就不这样了,也不是数据库的问题,是我的问题,呵呵
      

  12.   

     直接用 this.timer1.Interval = 6000;
    调试一下看看是不是Interval属性为0了