3

カウントダウンタイマーを持つWindows 8アプリを作成しました。タイマーのコードがあり、正常に動作しますが、120 秒からカウントダウンする代わりに、2:00 分として表示し、そこからカウントダウンしたいと考えています。しかし、タイマーを使用しているため、日付/時刻プロパティの使用方法がわかりません (それができる場合でも)。これを理解するのを手伝ってください。

これが私のタイマーコードです:

 DispatcherTimer timer;
 private int counter = 120;

 public ArcadeMode()
 {
     InitializeComponent();
     timer = new DispatcherTimer();
     timer.Interval = TimeSpan.FromSeconds(1);
     timer.Tick += timer_Tick;
     timer.Start();
  }

  async void timer_Tick(object sender, object e)
  {
     await Time.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Low, () => { Time.Text = counter.ToString(); });
     counter--;
   }
4

3 に答える 3

6
Time.Text = TimeSpan.FromSeconds(counter).ToString();

これにより00:01:00、入力が次の場合のような出力が得られます60

于 2013-05-29T04:00:46.120 に答える
3

より高速で簡潔な方法があるかもしれませんが、これは少なくともタイマーを希望どおりに表示する必要があります(テストされていません):

Time.Text = string.Format("{0}:{1}", (counter / 60), (counter % 60).ToString().PadLeft(2,'0'));
于 2013-05-29T03:56:40.907 に答える
2

それを Datetime インスタンスに変換し、 .ToString("the format you want")

于 2013-05-29T05:35:58.330 に答える