如何在c#中制作00:00计时器?

时间:2017-04-24 07:39:07

标签: c#

我只是想为一个小小的体育记分牌制作一个基本的mm:ss计时器。

我目前有

int i = 0;
private void matchTimer_Tick(object sender, EventArgs e)
{
    i++;
    timeDisplay.Text = i.ToString("00:00");
}

但这失败了,因为它没有考虑分钟数,所以一旦时间达到60,它就会继续

00:60
00:61
00:62
...

但我希望它是

01:00
01:01
01:02
...

然后在80分钟停止

3 个答案:

答案 0 :(得分:9)

你遇到的问题比你想象的要多。您目前正依赖于计时器每秒准确一次。请勿这样做 - 而是使用System.Diagnostics.Stopwatch来衡量已用时间,然后通过格式化Stopwatch.Elapsed的值来更新显示:

timeDisplay.Text = stopwatch.Elapsed.ToString("mm':'ss");

(有关详细信息,请参阅Custom TimeSpan format strings documentation。)

答案 1 :(得分:1)

Timespan就是为此而制造的。

timeDisplay.Text = new TimeSpan(0, 0, i).ToString("mm\\:ss")

答案 2 :(得分:0)

您的格式字符串不正确。您应该创建一个TimeSpan值和format