没有用 winform下的 那个Timer。用的是 System.Timer 有 2个问题。第一 我事件中执行的函数有可能 超过周期
预期是 等待上一个执行完毕然后再执行这个周期。第二 我需要new  很多个 timer 具体视 情况而定。但是他们会调用同一个 数据库连接和一些写数据的方法
我的程序是用来 读文本文件写数据的

解决方案 »

  1.   

    没问题,会等你执行完再进行下一次
    也可以
            private void timer1_Tick(object sender, EventArgs e)
            {
                timer1.Enabled = false;            //  操作            timer1.Enabled = true;
            } 
      

  2.   

    楼上的方法不是楼主想要的效果吧。我觉得楼主可以考虑
    System.Threading.Timer
      

  3.   


    1. 不会
    2. new 几个 timer 是很不明智的做法,一个就已经足够了。
      

  4.   

    每个文件 读取的周期 不一样 所以 我才NEW 多个timer 传进去不同的 文本内容 调用同一个 写数据的方法 写入不同内容
      

  5.   


    System.Timers.Timer timer1=new System.Timers.Timer();
    timer.AutoReset=false;
    timer.Elapsed+=timer1_Elapsed;
            
    private void timer1_Elapsed(object sender, EventArgs e)
    {
        timer1.Enabled = false;
        //  操作
         ...      
        //改变 interval
        ...     
        timer1.Interval=3*1000;    timer1.Enabled = true;
      

  6.   


    看一下你的 CPU, 做这么多事情,就一个脉冲发生器就够了。