快速提问。我正在做一个项目,当我打开表单时它会启动一个计时器。
当计时器在1分钟后为1:00时,它会像应该发生的那样进入0:59。
但是当我将计时器设置为1分钟后的2:00时,它会变为1:59。我将计时器间隔设置得更快一些,只是看它会是什么样子。而当到达1:00而不是变为0:59时,则变为1:59。我知道我的代码是错误的,但我无法更正。
public partial class Form9 : Form
{
private int quick = 1800;
public Form9()
{
InitializeComponent();
}
private void Form9_Load(object sender, EventArgs e)
{
timer1 = new System.Windows.Forms.Timer();
timer1.Interval = 60000;
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
quick--;
label1.Text = quick / 900 + ":" + ((quick % 60) >= 10 ? (quick % 60).ToString() : "0" + (quick % 60));
}
}
谢谢!
答案 0 :(得分:0)
您可以改用内置类型TimeSpan
。
private TimeSpan quick = TimeSpan.FromHours(2); // 2 hours
private void timer1_Tick(object sender, EventArgs e)
{
quick -= TimeSpan.FromMinutes(1); // subtract 1 minute
label1.Text = string.Format("{0:h\\:mm}", quick);
}