我需要捕捉十个用户两次按下按钮所需的时间
我用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
是不错的做法?还有比这更好的方法吗?
答案 0 :(得分:2)
您可以跟踪每个用户的开始时间,使用一个秒表,并且在一个用户调用停止操作后,只有当他们全部停止时才停止它。我不知道这是不是更好的做法,但这是一种不同的做法。
答案 1 :(得分:1)
我认为没有理由不使用秒表。但是,不应定义十个秒表,而应将它们保存在数组或字典中,其中每个StopWatch
与用户相关联。
答案 2 :(得分:1)
就个人而言,我会给每个“用户”一个DateTime(StartTime),然后当事件结束时(例如,Key_Up)你可以通过以下方式获得经过的时间:
DateTime elapsedTime = DateTime.Now - StartTime.
然后使用elapsedTime.Seconds或.Minutes等,甚至使用elpasedTime.ToString(“hh:mm:ss”)来获得格式良好的字符串。