我在Visual Studio 2008,C#和.NET Framework 3.5中有一個控制檯應用程序。按下按鍵或在x分鐘後自動關閉控制檯應用程序窗口
當應用程序完成所有的事情時,我想關閉窗口,當用戶按下一個鍵或自動過了幾分鐘後。
因此,在我的應用程序結束時,我做的事:
static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
public static int Main(string[] args)
{
// Do some stuff
Console.WriteLine("Press any key to close this window.");
myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Interval = 5000;
myTimer.Start();
Console.ReadKey();
return 0;
}
private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
myTimer.Stop();
Environment.Exit(0);
}
這裏的問題是,窗口是不是X分鐘後關閉已經過去了,從來不會提得計時器事件,因爲程序被阻止等待鍵(ReadKey)。
那麼該怎麼做呢?
您使用了錯誤類型的定時器,你不能在這樣一個控制檯應用程序使用'System.Windows.Forms.Timer',你需要不依賴於「UI線程計時器「像一個'System.Timers.Timer' –