日期:2014-05-18  浏览次数:21027 次

怎么用C# 中Timer控件在某个指定时间内就调用一次函数呢
在做小型资源管理器的时候要实现动态加载,电脑上的磁盘。求代码和实例。不要百度上的。
下面这个不好理解
 System.Timers.Timer t = new System.Timers.Timer(1000);
  t.Elapsed +=new System.Timers.ElapsedEventHandler(timer1_Tick);
  t.Enabled = true;

------解决方案--------------------
C# code

 bool flag = true;//调用一次标志
 void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
      TimeSpan ts = new TimeSpan(0, 32, 0);//时间段
      DateTime dt = new DateTime(2012, 6, 16, 16, 0, 0, 0);//时间段开始时间
      if(DateTime.Now - dt <= ts && flag)
      {
          //干你的事  
          flag = false;
      }
 }

------解决方案--------------------
写的很好
------解决方案--------------------
也可以使用线程定时器
System.Threading.Timer
------解决方案--------------------
在你的timer1_Tick方法中,第一句要写
C# code
t.Stop();

------解决方案--------------------
记下执行与否就可以了
探讨

C# code

bool flag = true;//调用一次标志
void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
TimeSpan ts = new TimeSpan(0, 32, 0);//时间段
DateTime dt = new DateTime(2012, 6, 16,……