bs(c#) + oracle
做了个windows服务 怎么在某一时刻触发事件
Timer控件本身的 Interval 是间隔触发的,
现在我想固定时间触发例如:23:59:59触发,其它时间睡眠,该用那个属性、方法。

解决方案 »

  1.   

    Interval 设置成1秒,timer事件里面获取当前系统时间,如果当前系统时间等于23:59:59就作你需要作的事情,否则什么也不干不就O了
      

  2.   

    ls的这样是OK了 ,不过就是占资源。
      

  3.   

    在设置Interval前,计算希望触发时间到系统当前时间的时间间隔,然后赋给Interval
      

  4.   

    触发需要用其它的事件,比如时间到了就运行TIMER事件,时间没到就不运行!这个简单啊!比如:Form_load事件方法1:
    interval=1000(1000豪秒=1秒)
    像你这个程序,需要3个TIMER
    一个控制小时,一个控制分钟,一个控制秒.方法2:
    TIMER一直运行
    interval=1000(1秒);
    用timer.sleep(1000)睡眠1秒,睡玩它再起来!
    timer中间的类容,就是不停的检测系统时间是否与你要的时间相同,如果相同就触发某事件.
      

  5.   

    to:3樓怎么在Interval前设置触发时间
      

  6.   

    interval后面的赋值是有限制的!好象有个最大值是几万来着,也就是最多不超过1个小时,还是几分钟吧!如果你需要原代码的话,有个VB.NET的程序!要的话就到http://www.vbworld.cn/bbs/index.asp?boardid=3&page=1上去下,在VB2005源代码区,TIMER定时器,俺做的,你可以下载参考一下,用C#改一下就可以了!
      

  7.   

    用两个timer,代码如下:
    -------------------------------
    private void timer1_Tick(object sender, EventArgs e)
            {            
                
                if (DateTime.Now.Hour.ToString() == textBox1.Text.ToString())
                {
                    timer1.Enabled = false;
                    timer2.Interval = 3600000*24-1;//24小时减1秒
                      timer2.Enabled = true;
                    button1_Click(sender,  e);
                }
            }private void timer2_Tick(object sender, EventArgs e)
            {
                timer1.Interval = 1500;
                timer1.Enabled = true;
                timer2.Enabled = false;
            }
      

  8.   

    前面的有点问题,应该是这样,代码如下: 
    ------------------------------- 
    private   void   timer1_Tick(object   sender,   EventArgs   e) 
                    {                         
                            
                            if   (DateTime.Now.Hour.ToString()   ==   textBox1.Text.ToString()) 
                            { 
                                    timer1.Enabled   =   false; 
                                    timer2.Interval   =   3600000*24-1;//24小时减1秒 
                                        timer2.Enabled   =   true; 
                                    button1_Click(sender,     e); 
                            } 
                    } private   void   timer2_Tick(object   sender,   EventArgs   e) 
                    { 
                            timer1.Interval   =   1000; //一秒
                            timer1.Enabled   =   true; 
                            timer2.Enabled   =   false; 
                    }
      

  9.   

    楼主还不知道用Window自带的任务计划,你做一个Exe程序,放在里面就行,没有那么麻烦
    我就是这么做的
      

  10.   

    Interval是double型,最大是1.79769313486232e308毫秒,够多少代人的了。怎么会不够用呢?
      

  11.   

    private void timer1_Tick(object sender, EventArgs e)  
      {   
        
      if (DateTime.Now.Hour.ToString() == textBox1.Text.ToString())  
      {  
      timer1.Enabled = false;  
      timer2.Interval = 3600000*24-1;//24小时减1秒  
      timer2.Enabled = true;  
      button1_Click(sender, e);  
      }  
      }  private void timer2_Tick(object sender, EventArgs e)  
      {  
      timer1.Interval = 1000; //一秒
      timer1www.taob10.com = true;  
      timer2.Enabled = false;  
      }
      

  12.   

    private void timer1_Tick(object sender, EventArgs e)  
      {   
        
      if (DateTime.Now.Hour.ToString() == textBox1.Text.ToString())  
      {  
      timer1.Enabled = false;  
      timer2.Interval = 3600000*24-1;//24小时减1秒  
      timer2.Enabled = true;  
      button1_Click(sender, e);  
      }  
      }  private www.taob10.com(object sender, EventArgs e)  
      {  
      timer1.Interval = 1000; //一秒
      timer1.Enabled = true;  
      timer2.Enabled = false;  
      }
      

  13.   

    private void timer1_Tick(object sender, EventArgs e)  
      {   
        
      if (DateTime.Now.Hour.ToString() == textBox1.Text.ToString())  
      {  
      timer1.Enabled = false;  
      timer2.Interval = 3600000*24-1;//24小时减1秒  
      timer2.Enabled = true;  
      button1_Click(sender, e);  
      }  
      }  private void timer2_Tick(object sender, EventArgs e)  
      {  
      timer1.www.taob10.com1000; //一秒
      timer1.Enabled = true;  
      timer2.Enabled = false;  
      }