我有问题。我想在倒数计时器中保存剩余秒数(例如,剩余时间= 12秒)我想在变量中保存12秒。 这是我的代码
int order = 0;
bool right = true;
DispatcherTimer timer1 = new DispatcherTimer();
private void timer_start()
{
timer1.Interval = new TimeSpan(0, 0, 0, 1);
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Start();
}
int remainingSecond;
int tik = 15;
void timer1_Tick(object sender, EventArgs e)
{
this.Timer.Text = tik.ToString();
if (tik > 0)
{
tik--;
if (this.order >= 5)
{
timer1.Stop();
if (right)
{
remainingSecond = tik;
}
else
remainingSecond = 0;
}
}
else
{
remainingSecond = 0;
timer1.Stop();
}
}
每当我写“remainingSecond”时,其值始终为0.我希望remainingSecond
值为12.请帮助我。感谢
答案 0 :(得分:1)
尝试将间隔设置为1秒而不是1毫秒
答案 1 :(得分:1)
您已分配order = 0
,但未在任何地方增加并设置此条件
if (this.order >= 5)
永远不会是真的。因此,它会继续递减tik
,最后您的条件if (tik > 0)
将变为假。否则将执行,并将remainingSecond
设置为ZERO
。这就是为什么你得到ZERO作为输出。
你的计时器每1毫秒就会滴答作响。 timer
将会启动,并且tick
将立即order
零,并且您的else语句将被执行以设置{{} 1}}到 ZERO ,并且remainingSeconds
也是计时器。所以单击按钮对你没有任何作用。