0

10 人のユーザーが 2 回ボタンを押すまでの時間をキャプチャする必要があります。
私はこのようにしていStopWatchます。

Stopwatch stopwatch1;  
Stopwatch stopwatch2;

.........この10個のストップウォッチのように。

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

10 個のストップウォッチの同じコード。
注: すべてのユーザーは、この START-STOP アクションを継続的に実行します。各サイクルの経過時間を個別に記録する必要があります。デスクトップアプリケーションで使用しています。すべてのユーザーが同じアプリケーションを使用します。

10を使用するStopwatchことは良い習慣ですか?? これより良い方法はありますか?

4

3 に答える 3

2

すべてのユーザーの開始時刻を追跡し、1 つのストップウォッチを使用して、1 人のユーザーによって停止アクションが呼び出された後は停止せず、すべて停止した場合にのみ停止することができます。それがより良い練習かどうかはわかりませんが、それは別の方法です。

于 2013-03-20T08:27:19.303 に答える
1

ストップウォッチを使わない理由がわかりません。ただし、10 個のストップ ウォッチを定義する代わりに、それらを配列に保存するか、それぞれStopWatchがユーザーに関連付けられているディクショナリに保存する必要があります。

于 2013-03-20T08:32:03.540 に答える
1

個人的には、各「ユーザー」に DateTime (StartTime) を与えてから、イベントが終了したときに (たとえば Key_Up)、次の方法で経過時間を取得できます。

DateTime elapsedTime = DateTime.Now - StartTime.

その後、elapsedTime.Seconds または .Minutes などを使用し、elpasedTime.ToString("hh:mm:ss") を使用して適切にフォーマットされた文字列を取得します。

于 2013-03-20T08:47:28.737 に答える