0

我需要捕捉十个用户按下两个按钮之间的时间。
我正在这样做StopWatch

Stopwatch stopwatch1;  
Stopwatch stopwatch2;

........就像这十秒表一样。

private void Start_Action1()  
{   
   stopwatch1 = new Stopwatch();  
   stopwatch1.Start();  
}  
private void Stop_Action1()  
{   
   stopwatch1.Stop();   
   txtTimeForAction1.Text = stopwatch.Elapsed.ToString();  
}

10 个秒表的代码相同。
注意:所有用户都将连续执行此 START-STOP 操作。我需要分别记录每个周期的经过时间。我在桌面应用程序中使用。所有用户都将使用相同的应用程序。

使用 10Stopwatch是个好习惯??还有比这更好的方法吗?

4

3 回答 3

2

您可以跟踪每个用户的开始时间,使用一个秒表并且在一个用户调用停止操作后不要停止它,只有当他们都停止时。我不知道这是否是更好的做法,但这是一种不同的方法。

于 2013-03-20T08:27:19.303 回答
1

我认为没有理由不使用秒表。但是,与其定义十个秒表,不如将它们保存在一个数组或字典中,每个StopWatch都与一个用户相关联。

于 2013-03-20T08:32:03.540 回答
1

就个人而言,我会给每个“用户”一个日期时间(开始时间),然后当事件完成时(例如 Key_Up)你可以通过以下方式获得经过的时间:

DateTime elapsedTime = DateTime.Now - StartTime.

然后使用 elapsedTime.Seconds 或 .Minutes 等,甚至使用 elpasedTime.ToString("hh:mm:ss") 来获得格式良好的字符串。

于 2013-03-20T08:47:28.737 回答