6

タイマーのみを次のように表示するWindowsフォームアプリケーションを作成したいと思います。

xx日xx時間xx分xx秒

  • タイマーなどを設定するオプションはありません。コードで設定したいのですが、問題は、現在の時刻(DateTime.Now)から特定の日付までカウントダウンしたいということです。だから私はTimeSpanタイプとして残っている時間になってしまいます。これを実際に表示する方法がわからないので、実際に機能していて、更新(カウントダウン)するのに役立つチュートリアルが見つからないようです。ここで助けが得られるといいのですが:)
4

4 に答える 4

8

タイムスパン形式の文字列とタイマーを使用できます。

DateTime endTime = new DateTime(2013,01,01,0,0,0);
private void button1_Click(object sender, EventArgs e)
{ 
    Timer t = new Timer();
    t.Interval = 500;
    t.Tick +=new EventHandler(t_Tick);
    TimeSpan ts = endTime.Subtract(DateTime.Now);
    label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
    t.Start();
}

void  t_Tick(object sender, EventArgs e)
{
    TimeSpan ts = endTime.Subtract(DateTime.Now);
    label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
于 2012-06-21T21:07:27.953 に答える
6

以下はあなたにカウントダウン文字列を与えるでしょう

//Get these values however you like.
DateTime daysLeft = DateTime.Parse("1/1/2012 12:00:01 AM");
DateTime startDate = DateTime.Now;

//Calculate countdown timer.
TimeSpan t = daysLeft - startDate;
string countDown = string.Format("{0} Days, {1} Hours, {2} Minutes, {3} Seconds til launch.", t.Days, t.Hours, t.Minutes, t.Seconds);
于 2012-06-21T21:02:03.780 に答える
3

ToDate.Subtract(Now)を使用すると、取得したTimeSpanをフォーマットして、フォームに表示するだけです。

于 2012-06-21T20:59:21.817 に答える
0

あなたはこのようなものをグーグルで検索して、文字通り何百もの結果を得ることができるはずです。 http://channel9.msdn.com/coding4fun/articles/Countdown-to、これが最初に見栄えが良かったものです。

于 2012-06-21T21:00:32.490 に答える