[英]Creating a countdown timer,until a timer starts
我在控制台應用程序中有一個計時器:
using System.Timers;
Timer Timer = new Timer();
我給了它一個interval
,它會定期在_timer_Elapsed
方法中做一些事情:
Timer.Elapsed += _timer_Elapsed;
Timer.Enabled = true;
private static void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
...
}
如何創建第二個倒計時直到此計時器啟動的計時器?
創建一個每秒經過的第二個計時器,並使用以下代碼進行倒計時並向控制台寫入一條消息。
#define COUNTDOWN_SECONDS 10
private int CountDownValue = COUNTDOWN_SECONDS;
private static void _timer2_Elapsed(object sender, ElapsedEventArgs e)
{
WriteConsoleMessage(CountDownValue--);
if (CountDownValue == 0)
{
// Stop timer2
// Start timer1
}
}
private static void WriteConsoleMessage(int Value)
{
if (Value < COUNTDOWN_SECONDS)
Console.CursorLeft = 0; // Reset cursor to start of the line
Console.Write(string.Format("{0} Seconds until timer starts", Value.ToString());
}
繼承人我是如何做到的:
public static int Interval = 5000;
public static int IntervalLeft = Interval;
Timer.Elapsed += _timer_Elapsed;
Timer.Enabled = true;
Timer.Interval = Interval;
CountDownTimer.Elapsed += _CountDowntimer_Elapsed;
CountDownTimer.Enabled = true;
CountDownTimer.Interval = 1000;
CountDownTimer.Start();
private static void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
CountDownTimer.Stop();
Timer.Stop();
DOES THE JOB HERE
Timer.Start();
CountDownTimer.Start();
IntervalLeft = Interval;
}
private static void _CountDowntimer_Elapsed(object sender, ElapsedEventArgs e)
{
Zipper.ClearCurrentConsoleLine();
IntervalLeft = (IntervalLeft - 1000);
Console.Write("Starts in" + IntervalLeft/1000);
}
第一個計時器在第二個計時器結束時停止...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.