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 回答