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'のように –