2016-10-19 19 views
1

我想知道如何让它如此,在让我们说1分钟之后,控制台会说60000毫秒。x毫秒后打印控制台的内容

所有我到目前为止是

System.Timers.Timer timer = new System.Timers.Timer(60000); 
timer.Start(); 

但我不知道如何使它所以当计时器完成后,它会做什么。

+0

订阅Elapsed事件。有关示例,请参阅[文档](https://msdn.microsoft.com/en-us/library/system.timers.timer(v = vs.110).aspx)。 – adv12

+0

如果一切都失败读取手册 – pm100

+0

Timer类有一个TimerElapsed事件。订阅它并实施您需要的任何功能。 –

回答

3

您可以使用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"); 
    } 
} 
0

void Main() 
{ 
var t = new System.Threading.Timer((s)=>Console.WriteLine("Hi"),null,0,60000); 
Console.ReadLine(); 
} 
0

您可以使用System.Threading.Thread.Sleep,如果你只想做一次写入(计时器将运行每x秒):

System.Threading.Thread.Sleep(60000); 
Console.WriteLine("something"); 
0

你想要做的是创建一个事件,当定时器超过预定义的时间时写入控制台。

开始通过创建定时器并将它设置为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(); 

,等待甚至触发并写入控制台。