我正在使用下面的代码以hh:mm:ss
格式显示剩余时间,例如,duration为30min
,它将显示为00:30:00
1分钟,它将显示为00:29:00
,我又如何显示剩余的秒数并相应地减少它们,
编辑
我试着timer1.Interval = 1000;
和
examTime = examTime.Subtract(TimeSpan.FromSeconds(1));
但是它并没有显示每秒减少的秒数,我该怎么做?
public SubjectExamStart()
{
InitializeComponent();
examTime = TimeSpan.FromMinutes(double.Parse(conf[1]));
label1.Text = examTime.ToString();
timer1.Interval = 60 * 1000;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (sender == timer1)
{
if (examTime.TotalMinutes > 0)
{
examTime = examTime.Subtract(TimeSpan.FromMinutes(1));
label1.Text = examTime.ToString();
}
else
{
timer1.Stop();
MessageBox.Show("Exam Time is Finished");
}
}
}
而不是减法,TimeSpan.FromMinutes
您需要减去TimeSpan.FromSeconds
public SubjectExamStart()
{
InitializeComponent();
examTime = TimeSpan.FromSeconds(double.Parse(conf[1]));
label1.Text = examTime.ToString();
timer1.Interval = 1000;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (sender == timer1)
{
if (examTime.TotalMinutes > 0)
{
examTime = examTime.Subtract(TimeSpan.FromSeconds(1));
label1.Text = examTime.ToString();
}
else
{
timer1.Stop();
MessageBox.Show("Exam Time is Finished");
}
}
}
如果要在分配标签时格式化“时间跨度”值,则可以在下面使用。
label1.Text = examTime.ToString(@"dd\.hh\:mm\:ss");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句