在特定的一天后停止 Xamarin 表单中的倒数计时器
Stop countdown timer in Xamarin forms after a specific day
我是 C# 的新手,需要一个倒数计时器。我使用了这段代码,几乎没有修改。
Link
原始代码....
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void button1_Click(object sender, EventArgs e)
{
Timer t = new Timer();
t.Interval = 500;
t.Tick +=new EventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
我的代码....
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void countDownTimer()
{
Timer t = new Timer();
t.Interval = 1000;
t.Elapsed += new ElapsedEventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
效果很好,我想知道如何在倒计时后停止计时器。倒计时结束后开始计时
你可以这样停止:
DateTime endTime = new DateTime(2018, 11, 21, 12, 31, 0);
public void StartCountDownTimer()
{
timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += t_Tick;
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
timer.Start();
}
string cTimer;
System.Timers.Timer timer;
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
if ((ts.TotalMilliseconds < 0) || (ts.TotalMilliseconds < 1000))
{
timer.Stop();
}
}
我是 C# 的新手,需要一个倒数计时器。我使用了这段代码,几乎没有修改。
Link
原始代码....
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void button1_Click(object sender, EventArgs e)
{
Timer t = new Timer();
t.Interval = 500;
t.Tick +=new EventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
我的代码....
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void countDownTimer()
{
Timer t = new Timer();
t.Interval = 1000;
t.Elapsed += new ElapsedEventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
效果很好,我想知道如何在倒计时后停止计时器。倒计时结束后开始计时
你可以这样停止:
DateTime endTime = new DateTime(2018, 11, 21, 12, 31, 0);
public void StartCountDownTimer()
{
timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += t_Tick;
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
timer.Start();
}
string cTimer;
System.Timers.Timer timer;
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
if ((ts.TotalMilliseconds < 0) || (ts.TotalMilliseconds < 1000))
{
timer.Stop();
}
}