我想知道如何让它如此,在让我们说1分钟之后,控制台会说60000毫秒。x毫秒后打印控制台的内容
所有我到目前为止是
System.Timers.Timer timer = new System.Timers.Timer(60000);
timer.Start();
但我不知道如何使它所以当计时器完成后,它会做什么。
我想知道如何让它如此,在让我们说1分钟之后,控制台会说60000毫秒。x毫秒后打印控制台的内容
所有我到目前为止是
System.Timers.Timer timer = new System.Timers.Timer(60000);
timer.Start();
但我不知道如何使它所以当计时器完成后,它会做什么。
您可以使用elapse事件,当60000毫秒通过时,事件将被抛出。在过去事件的例子:
class Program
{
static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer(60000);
timer.Elapsed += new System.Timers.ElapsedEventHandler(elapse); // subscribing to the elapse event
timer.Start(); // start Timer
Console.ReadLine(); // hold compiler until key pressed
}
private static void elapse(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Hy");
}
}
或
void Main()
{
var t = new System.Threading.Timer((s)=>Console.WriteLine("Hi"),null,0,60000);
Console.ReadLine();
}
您可以使用System.Threading.Thread.Sleep
,如果你只想做一次写入(计时器将运行每x秒):
System.Threading.Thread.Sleep(60000);
Console.WriteLine("something");
你想要做的是创建一个事件,当定时器超过预定义的时间时写入控制台。
开始通过创建定时器并将它设置为60:
var timer = new System.Timers.Timer(60000); //60seconds
下一页创建时的时间已经过去,将被触发的事件:
这是做如下
private static void MyEvent(object sender, ElapsedEventArgs e) { Console.WriteLine("Hello World"); }
接下来,将计时器绑定到该事件:
timer.Elapsed += MyEvent;
这样做是告诉计算机,当计时器实际上在未来开始运行,然后计时器过去(计时器启动后经过60秒),那么称为'MyEvent'的事件将被调用,安慰。
最后启动定时器:
timer.Start();
,等待甚至触发并写入控制台。
订阅Elapsed事件。有关示例,请参阅[文档](https://msdn.microsoft.com/en-us/library/system.timers.timer(v = vs.110).aspx)。 – adv12
如果一切都失败读取手册 – pm100
Timer类有一个TimerElapsed事件。订阅它并实施您需要的任何功能。 –