1

ストップウォッチ型のアプリを作成しています。時間を表示するためにラベルを使用しました。アプリケーションが起動すると、ラベルは「00:00:00」に初期化され、その時間を 1 秒ごとにインクリメントしたいと考えています。

タイマーを使用してこの仕事を達成しようとしています。

4

5 に答える 5

3

タイマーでシステム時間を取得するため、タイマーは200ミリ秒のような非常に短い間隔である必要があります。時間を計算するには、currentTime - startTIme を秒単位で計算します。

于 2011-10-23T21:08:52.627 に答える
2

私があなたを正しく理解していれば、きっとうまくいくかもしれません。初期ラベルテキストを「00:00:00」に設定します。タイマー間隔を 1000 に設定します。

private void btnStartWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = true;
}

private void btnPauseWatch_Click(object sender, EventArgs e)
{
    timer1.Enabled = false;
}

int i = 1;
DateTime dt = new DateTime();
private void timer1_Tick(object sender, EventArgs e)
{
    label1.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
    i++;
}

それが役に立てば幸い。

于 2011-10-24T14:02:49.393 に答える
1

アプリの1つにタイマーがあります。

private int _seconds;

public string TimeDisplay
{
    get
    {
        TimeSpan ts = new TimeSpan( 0, 0, _seconds );
        return string.Format("{0,2:00}:{1,2:00}:{2,2:00}", ts.Minutes, ts.Minutes, ts.Seconds);
    }
}

あなたがしなければならないのは、あなたがそれにバインドしているなら、あなたのtimer_tickに_secondsとNotifyPropertyChanged()をインクリメントさせることです。いずれにせよ、TimeDisplayはあなたの結果をもたらします。

于 2011-10-24T00:53:31.230 に答える
0

TimeSpan構造が必要です。

何かのようなもの:

TimeSpan current = new TimeSpan(0);

// In your update loop:

current += TimeSpan.FromSeconds(1);
于 2011-10-23T22:32:50.950 に答える
0

理解してほしい。

private void Button1_Click(System.Object sender, System.EventArgs e)
{

      Timer1.Interval = 1000;
      Timer1.Start();
}
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
        this.Label1.Text = DateTime.Now.ToString("hh/mm/ss");

 }

よろしく

于 2011-10-23T21:06:41.497 に答える