×

Loading...
Ad by
Ad by

Depends on what you

are developing. If you are developing a Windows Form project, choose
System.Windows.Forms.Timer. If others, choose
System.Timers.Timer or System.Threading.Timer.

Here is demo code.

using System.Timers;

void Demo()
{
Timer myTimer=new Timer();
myTimer.Elapsed+=new ElapsedEventHandler(OnElapsed);
myTimer.Interval=3000 //three seconds
myTimer.AutoReset=true;

myTimer.Start();
}

void OnElapsed(Object sender, ElapsedEventArgs e)
{
//below codd will execute every 3 seconds.
Console.WriteLine("This is another 3 seconds. ");
}
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 新手C#问题。 我做一个循环,检测某种条件,当不符合时。想休眠5秒后才又开始检测条件。有没有这样的函数?
    就像这样:

    while ( ! check_something() ){

    sleep?|wait? | delay? // 这里有什么函数可以休眠??

    }
    • 高手哪里去了?
      • 不知道你在什么情况下用,最低的低手试试来回答,thread里面有个sleep,或者你可以设个timer,高手们怎么用的偶不知道。
        • 谢谢。。谢谢。。。谢谢。。。
    • Depends on what you
      are developing. If you are developing a Windows Form project, choose
      System.Windows.Forms.Timer. If others, choose
      System.Timers.Timer or System.Threading.Timer.

      Here is demo code.

      using System.Timers;

      void Demo()
      {
      Timer myTimer=new Timer();
      myTimer.Elapsed+=new ElapsedEventHandler(OnElapsed);
      myTimer.Interval=3000 //three seconds
      myTimer.AutoReset=true;

      myTimer.Start();
      }

      void OnElapsed(Object sender, ElapsedEventArgs e)
      {
      //below codd will execute every 3 seconds.
      Console.WriteLine("This is another 3 seconds. ");
      }
      • 真有必要这样做吗?
      • 不是吧?
      • 谢谢。。。谢谢。。。谢谢。。。
    • Thread.Sleep(5000)
      • 这个好用。谢谢。 我只是写一个Console程序,没有Form。哈哈,其实主程序就是一个Thread,直接用Thread.Sleep就可以了。 谢谢。。。谢谢。。。
    • 在这里发帖问,比自己看书找快多了,哈哈。谢谢。。。谢谢。。。谢谢。。。