显示分钟和秒的简单倒数计时器 C# - 已经有分钟
Simple countdown timer C# showing Minutes and Seconds - already have minutes
我有一个 Windows 表单,其中包含一个简单的倒计时计时器,可以向观众显示赛车比赛还剩多少时间。它用于显示还剩多少分钟,但我需要它来显示还剩多少分钟和秒。
用户可以决定是否显示时间(作为图片框前面的标签),用户可以start/stop/reset/add或减去分钟(所有用户输入以分钟为单位)。
如果有人能指导我如何格式化剩余时间以显示为 000:00(即 mmm:ss)并以秒为单位倒计时,我将不胜感激。
这是我目前拥有的:
int timeleft = 10;
private void timer1_Tick(object sender, EventArgs e)
{
if (timeleft > 0)
{
timeleft = timeleft - 1;
label3.Text = timeleft + " Mins";
}
else
{
timer1.Stop();
label3.Text = "Time Up";
}
}
private void button26_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void button27_Click(object sender, EventArgs e)
{
timer1.Stop();
}
private void button32_Click(object sender, EventArgs e)
{
timer1.Stop();
timeleft = 20;
label3.Text = timeleft + " Mins";
}
private void button28_Click(object sender, EventArgs e)
{
timeleft = timeleft + 1;
label3.Text = timeleft.ToString() + " Mins";
}
private void button30_Click(object sender, EventArgs e)
{
timeleft = timeleft - 1;
label3.Text = timeleft.ToString() + " Mins";
}
private void button7_Click(object sender, EventArgs e)
{
timeleft = timeleft + 10;
label3.Text = timeleft.ToString() + " Mins";
}
private void button29_Click(object sender, EventArgs e)
{
label3.BringToFront();
}
您应该使用 TimeSpan to describe the time left. This would allow you to format the time using custom format strings。即
timeleft = TimeSpan.FromMinutes(20);
label3.Text = timeLeft.ToString("mm\:ss");
您还可以创建一个额外的扩展方法,根据剩余时间打印分钟或秒。 IE。如果超过一分钟,则只显示分钟,否则显示秒。或者,如果剩余时间少于 5 分钟但多于 1 分钟,则同时显示分钟和秒数。
我有一个 Windows 表单,其中包含一个简单的倒计时计时器,可以向观众显示赛车比赛还剩多少时间。它用于显示还剩多少分钟,但我需要它来显示还剩多少分钟和秒。
用户可以决定是否显示时间(作为图片框前面的标签),用户可以start/stop/reset/add或减去分钟(所有用户输入以分钟为单位)。
如果有人能指导我如何格式化剩余时间以显示为 000:00(即 mmm:ss)并以秒为单位倒计时,我将不胜感激。
这是我目前拥有的:
int timeleft = 10;
private void timer1_Tick(object sender, EventArgs e)
{
if (timeleft > 0)
{
timeleft = timeleft - 1;
label3.Text = timeleft + " Mins";
}
else
{
timer1.Stop();
label3.Text = "Time Up";
}
}
private void button26_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void button27_Click(object sender, EventArgs e)
{
timer1.Stop();
}
private void button32_Click(object sender, EventArgs e)
{
timer1.Stop();
timeleft = 20;
label3.Text = timeleft + " Mins";
}
private void button28_Click(object sender, EventArgs e)
{
timeleft = timeleft + 1;
label3.Text = timeleft.ToString() + " Mins";
}
private void button30_Click(object sender, EventArgs e)
{
timeleft = timeleft - 1;
label3.Text = timeleft.ToString() + " Mins";
}
private void button7_Click(object sender, EventArgs e)
{
timeleft = timeleft + 10;
label3.Text = timeleft.ToString() + " Mins";
}
private void button29_Click(object sender, EventArgs e)
{
label3.BringToFront();
}
您应该使用 TimeSpan to describe the time left. This would allow you to format the time using custom format strings。即
timeleft = TimeSpan.FromMinutes(20);
label3.Text = timeLeft.ToString("mm\:ss");
您还可以创建一个额外的扩展方法,根据剩余时间打印分钟或秒。 IE。如果超过一分钟,则只显示分钟,否则显示秒。或者,如果剩余时间少于 5 分钟但多于 1 分钟,则同时显示分钟和秒数。