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

one*_*man 1 c#

我只是想为一个小小的运动记分牌制作一个基本的mm:ss计时器.

我现在有

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

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

00:60
00:61
00:62
...
Run Code Online (Sandbox Code Playgroud)

但我希望它是

01:00
01:01
01:02
...
Run Code Online (Sandbox Code Playgroud)

然后在80分钟停止

Jon*_*eet 9

你遇到的问题比你想象的要多.你目前依靠计时器滴答正好每秒一次.不要这样做 - 而是使用a System.Diagnostics.Stopwatch来测量经过的时间,然后通过格式化以下值来更新显示Stopwatch.Elapsed:

timeDisplay.Text = stopwatch.Elapsed.ToString("mm':'ss");
Run Code Online (Sandbox Code Playgroud)

(有关详细信息,请参阅Custom TimeSpan格式字符串文档.)