计算10个用户同时经过的时间

时间:2013-03-20 08:24:34

标签: c# visual-studio-2010 stopwatch

我需要捕捉十个用户两次按下按钮所需的时间 我用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个StopWatches的相同代码 注意:所有用户将连续执行START-STOP操作。我需要分别记录每个周期的时间。我在桌面应用程序中使用。所有用户都将使用相同的应用程序。

使用10 Stopwatch是不错的做法?还有比这更好的方法吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

DateTime elapsedTime = DateTime.Now - StartTime.

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