【发布时间】:2013-08-09 05:34:22
【问题描述】:
我有一个 Windows 8 游戏应用程序,它为每个级别使用一个计时器,我正在尝试将计时器设置为 3 秒。
我必须启动计时器的代码有效,但我似乎无法延迟计时器,以便我显示单词来倒计时。
代码如下:
private async void timer_Tick(object sender, object e)
{
await
Time.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Low,
() =>
{ Time.Text = string.Format("{0}:{1}", (Counter/60), (Counter%60).ToString().PadLeft(2, ' ')); });
Counter--;
await Task.Delay(3000);}}
所以我把 async 放在那里,因为我认为我应该放 await Task.Delay(3000);在计数器延迟计时器之后,但它不起作用。我不想使用 WinRT Xaml 工具包倒计时计时器,因为我不想要那里的动画。
任何关于我做错了什么的建议都会很棒!
【问题讨论】:
-
我不知道我是否理解你的问题,但是如果你想简单地把特定的时间延迟放在进程线程之间,那么这个sn-p可以帮助
await Task.Delay(TimeSpan.FromSeconds(1.5));简单它会考虑秒。让我知道这是否有效.. -
你在使用DispatcherTimer吗?
-
调用
timer_Tick函数的计时器是否设置为在关卡时间到期时关闭(例如,它在 60 秒后触发,或其他任何时间),或者计时器是否在您想要更新倒计时的频率(例如,每秒一次)?很难确定您的意图 - 您可以编辑问题的任何机会,因为完全不清楚您所说的“我正在尝试计时器 3 秒”是什么意思?
标签: c# xaml windows-8 timer countdown