c#timer.elapsed?

ISe*_*nds 6 c# timer

我已经包含了System.Timers包,但是当我输入时:

Timer.Elapsed; //its not working, the property elapsed is just not there.
Run Code Online (Sandbox Code Playgroud)

我记得它存在于VB.NET中.为什么这不起作用?

Ada*_*ear 29

这不是财产.这是一个事件.

所以你必须提供一个事件处理程序,它将在每次计时器滴答时执行.像这样的东西:

public void CreateTimer() 
{
    var timer = new System.Timers.Timer(1000); // fire every 1 second
    timer.Elapsed += HandleTimerElapsed;
}

public void HandleTimerElapsed(object sender, ElapsedEventArgs e)
{
    // do whatever it is that you need to do on a timer
}
Run Code Online (Sandbox Code Playgroud)

  • 赞成你的答案,因为它更短,更清晰,更切题。 (2认同)

Ada*_*dam 6

微软的例子。 http://msdn.microsoft.com/en-us/library/system.timers.timer.elapsed.aspx

Elapsed 是一个事件,因此需要一个事件处理程序。

using System;
using System.Timers;

public class Timer1
{
private static System.Timers.Timer aTimer;

public static void Main()
{       
    // Create a timer with a ten second interval.
    aTimer = new System.Timers.Timer(10000);

    // Hook up the Elapsed event for the timer.
    aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

    // Set the Interval to 2 seconds (2000 milliseconds).
    aTimer.Interval = 2000;
    aTimer.Enabled = true;

    Console.WriteLine("Press the Enter key to exit the program.");
    Console.ReadLine();       
}

// Specify what you want to happen when the Elapsed event is  
// raised. 
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
}
}

/* This code example produces output similar to the following:

Press the Enter key to exit the program.
The Elapsed event was raised at 5/20/2007 8:42:27 PM
The Elapsed event was raised at 5/20/2007 8:42:29 PM
The Elapsed event was raised at 5/20/2007 8:42:31 PM
...
 */
Run Code Online (Sandbox Code Playgroud)