我的代码如下:
private void Timer_Tick(object sender, EventArgs e)
{
time--;
Timelbl.Text = "Time: " + time + " seconds";
if (time == 0)
{
Timer.Stop();
Timelbl.Text = "Time: " + 0 + " seconds";
}
}
我想知道如何检查自计时器启动以来已经过了多长时间。例如,如果可变时间是30秒后20秒,我想知道计时器是在20秒前启动的,但是问题是可变时间的值一直都在变化,所以我将如何在c#中执行此操作?
答案 0 :(得分:3)
因此,这基本上可以归结为Timer
与Stopwatch
。
每个文档一个Timer
:在设置的时间间隔后生成事件,并提供生成重复事件的选项。
每个文档一个Stopwatch
:提供了一组可用于准确测量经过时间的方法和属性。
您可以将Stopwatch
设置为Form
的属性,然后通过执行以下操作来更新Timer
事件中的UI,以更新UI并显示经过的时间:
Timelbl.Text = "Time: " + (sw.ElapsedMilliseconds / 1000).ToString() + " seconds";
假设sw
的类型为Stopwatch
。
让我知道您是否需要在表单上设置Stopwatch
的特定帮助/如果遇到阻碍,请进行设置。