比如我有几个时间0:05   1:30  12:30  13:50 20:30 在这个时间里需要执行函数  应该怎么用呢? 听说是用thread 的timer 但是网上好像没有这样的例子。应该怎么样写呢?

解决方案 »

  1.   

    System.Threading.Timer time;
            private void button1_Click(object sender, EventArgs e)
            {
                AutoResetEvent autoEvent = new AutoResetEvent(false); 
                TimerCallback timerDelegate = new TimerCallback(CertainTask);
                time = new System.Threading.Timer(timerDelegate, autoEvent, 0, 3000); 
                        }怎么修改 才能每天早上8点执行一次线程?
      

  2.   

    不知道你这个程序是一直开着  还是到8点了自动开
    如果是一直开着的   就像上边说的写个TIMER    几秒判断一下时间   到了就执行
    如果想8点开   那就写个后台程序    一直判断时间  到时间了调用这个程序
    或者加入windons计划任务  方法很多   我说的比较简单  但肯定不是最好的   仅供参考
      

  3.   

    我想做成一个服务  刚找到了一个时间点执行的
     System.Threading.Timer time;
            private void button1_Click(object sender, EventArgs e)
            {
                DateTime time1 = DateTime.Now.Date.Add(new TimeSpan(10, 10, 0));
                List<DateTime> list_Time = new List<DateTime>();
                TimeSpan span = time1 - DateTime.Now;
                if (span < TimeSpan.Zero)
                {
                    span = time1.AddDays(1d) - DateTime.Now;
                }             AutoResetEvent autoEvent = new AutoResetEvent(false);
                object state = new object(); 
                time = new System.Threading.Timer(new TimerCallback(CertainTask), state, span, TimeSpan.FromTicks(TimeSpan.TicksPerDay)); 
            }
            private void CertainTask(object state) 
            {
                MessageBox.Show("aa");
            } 多个时间点执行,有没有方便点的写法?