c#timer.elapsed?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12754898/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
c# timer.elapsed?
提问by ISeeSounds
I have included the System.Timerspackage, but when I type:
我已经包含了这个System.Timers包,但是当我输入时:
Timer.Elapsed; //its not working, the property elapsed is just not there.
I remember it was there in VB.NET. Why doesn't this work?
我记得它在 VB.NET 中。为什么这不起作用?
采纳答案by Adam Lear
It's not a property. It's an event.
这不是财产。这是一个事件。
So you gotta provide an event handler that will execute every time the timer ticks. Something like this:
所以你必须提供一个事件处理程序,它会在每次计时器滴答时执行。像这样的东西:
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
}
回答by Adam
Microsofts example. http://msdn.microsoft.com/en-us/library/system.timers.timer.elapsed.aspx
微软的例子。 http://msdn.microsoft.com/en-us/library/system.timers.timer.elapsed.aspx
Elapsed is an event and therefore requires an eventhandler.
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
...
*/

