0

このコードを作成しましたが、画面に表示される時間ループと正確な経過時間の間に遅延があります。

Timer t = new Timer();
int time = 15;
string timestr;
t.Interval = 1000;
t.Tick += new EventHandler(Time);

void Time(object sender, EventArgs e)
{
    if (time == 0)
    { time = 15; }
    if (time != 0)
    {
        time--;
        timestr = time.ToString();
        label.Text = timestr;
    }
}
4

2 に答える 2

2

私の推測では、タイマーはその間隔値に達するまで最初のイベントを発生させないため、1 秒ずれていると思います。

簡単な修正は、イベントを開始するときに自分でイベントを発生させることです。

t.Start();
Time(t, EventArgs.Empty);
于 2013-05-24T16:14:34.250 に答える