我只是想为一个小小的运动记分牌制作一个基本的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分钟停止
你遇到的问题比你想象的要多.你目前依靠计时器滴答正好每秒一次.不要这样做 - 而是使用a System.Diagnostics.Stopwatch来测量经过的时间,然后通过格式化以下值来更新显示Stopwatch.Elapsed:
timeDisplay.Text = stopwatch.Elapsed.ToString("mm':'ss");
Run Code Online (Sandbox Code Playgroud)
(有关详细信息,请参阅Custom TimeSpan格式字符串文档.)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |