问题标签 [dispatchertimer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
414 浏览

c# - WP7/8 在后台/锁屏中调用 DispatcherTimer 滴答事件

我正在为 Windows Phone 开发一个计时器应用程序,并且我正在努力做到这一点,如果计时器上的剩余时间为零,则来自 BackgroundAudioPlayer 的声音将播放,无论应用程序是否处于活动状态、非活动状态、或处于锁定状态。

目前,我的问题是,当应用程序不活动时,滴答事件实际上并没有做任何事情。一旦用户回到应用程序,滴答事件就会运行到他们本来可以运行的点,但是除非应用程序处于活动状态或切换到活动状态,否则声音效果(或其他任何东西)实际上不会播放。

我确实有Page.xaml.cs

相关代码为:

当应用程序在锁屏下或其他方式不活动时,我该怎么做才能使滴答事件运行?

0 投票
2 回答
606 浏览

c# - DispatcherTimer 有问题

我在 WPF 窗口上使用某些调度程序计时器时遇到了一些问题。在窗口上,我通常会使用计时器,但 WPF 表单上似乎不存在此功能,因此我被告知这DispatcherTimer是等效的。

所以我有 3 个这样的计时器:

第一个每 30 秒将表单向前推进 - 这个工作正常。

第二个每隔 100 毫秒检查一次 IExplorer 是否正在运行,如果是,则隐藏 OK 按钮并在表单上显示一条消息,告诉用户关闭 IExplorer - 当您运行表单时,如果 IE 正在运行,则会禁用该按钮和显示消息,但在您关闭 IE 后它不会将其更改回来。

如果 IE 打开或关闭,我该怎么做才能让计时器不断运行并更新表单?

第三,就像第二个计时器每 100 毫秒运行一次一样,一旦他们点击了 OK 按钮,我想在用户尝试调用它的情况下终止 IExplorer 进程,但再次像第二个计时器一样似乎一直在运行。

有任何想法吗?

0 投票
2 回答
659 浏览

c# - 使用 C# 在 Windows Store 应用程序中的不同时间使用 2 个 Dispatcher Timer

我想要一个 MediaElement 应用程序。我想在指定时间使用此应用程序暂停 MediaElement。从理论上讲,我应该为此使用 2 DispatcherTimer。我正在使用 DispatcherTimer 进行暂停,但第二个计时器没有运行。我的代码有什么问题吗?这是我的代码。提前致谢

0 投票
1 回答
2031 浏览

c# - 尝试更新 DispatcherTimer 的时间间隔,但并不总是有效

我正在尝试制作 Snake 游戏。而我想要发生的是,蛇每吃一块食物,它就会移动得更快。

我想通过加快计时器滴答声来做到这一点。

我以以下间隔时间启动计时器:

并更新它:

但是当我运行我的游戏时,速度保持不变,直到我到达第 14 个点心,然后它突然改变了。我已经发现 nrTicks 然后下降到 10000 以下。

我的问题是为什么间隔不更新中间值?

0 投票
0 回答
94 浏览

c# - DispatcherTimer - 添加条件时不执行代码

当我添加条件或尝试在构造函数之外启动计时器时,DispatcherTimer 没有执行代码。

我遇到的问题是,如果我在没有条件的情况下在构造函数中启动 DispatchTimer,我的图形层会在单击按钮 Show_ClickStuff 之前添加。如果我没有在构造函数中启动所有内容,并且我将 if 条件放在 Show_ClickStuff 或 _timer_tick 中,我可以在代码上放置断点并观察计时器命中代码行但不会执行代码行。如果我删除条件代码将执行。我尝试了各种变化,但无法按照我需要的方式工作

使用 System.Windows.Threading;.NET Framework 4.5 代码文件:.xaml.cs Silverlight 4

0 投票
2 回答
395 浏览

wpf - DispatcherTimer 和定时器

我在我的 WPF 应用程序中遇到了一件奇怪的事情。我已经尝试过 DispatcherTimer 和 System.Timers.Timer 类,并比较了秒表所花费的时间。当我使用 DispatcherTimer 时,我的应用程序和秒表显示的间隔似乎几乎没有区别(测试了 30 分钟)。但是当我使用另一个 Timer 时,我在我的应用程序中大大浪费了时间。我本可以使用 DispatcherTimer,但问题是:当我从其他地方更新我的 UI 时,调度程序计时器似乎在该特定时间间隔内冻结,因此,它也失去了时间。为什么会发生这种情况以及如何纠正它?

0 投票
2 回答
1681 浏览

c# - How to make DispatcherTimer show time in a textbox and perform action when reaches a certain time in C#?

This is my second question on StackOverflow here. I posted my first question a while ago and got a working reply in no time, much impressed, much appreciated.

Anyways, so what I want to know is, how to get a DispatcherTimer to work and show time in a certain textbox and stop it when it reaches a certain time (let's say 60 seconds) and perform a function after 60 seconds.

What I'm basically using this for is :

Making a game, which has to stop after 60 seconds and show the scores or related stuff. So this requires me to show the time in a textbox and perform a function at 60 seconds or after that.

Here's more information :

Textbox is called "timerbox"

Here's the code I've tried :

It doesn't show the time in textbox, plus I don't know how to make it stop at certain point and perform a function.

Thank you for reaching here, please leave answers with full explanation as I'm a complete beginner :)

P.S. I'm using Windows Store App Development Environment in Visual Studio 2013. And there's no "Timer" in it as there is in normal C# Environment.

0 投票
2 回答
2246 浏览

c# - WPF 倒计时太慢(DispatcherTimer)

我目前正在编写一个 WPF 应用程序,我想在其中包含一个倒数计时器。这是我的倒计时课:

组合根:

一切正常,除非我将间隔设置为 10 毫秒,然后它比实际秒慢。我怎样才能解决这个问题?

编辑:我还不能回答我自己的问题,所以就这样吧:我完全重写了我的课程而不使用任何计时器。发现这些对我来说不够准确。

0 投票
1 回答
724 浏览

wpf - 为什么这个旋转动画会变得断断续续?

我有一个 WPF 应用程序,其中图像不断旋转,并且偶尔会有某种动画。当应用程序播放时,旋转会保持平稳运行,除非两个关键帧保持相同的值。出于演示目的,我将其缩减为基本要素:

窗口包含一个图像元素,该元素具有一个 RotateTransform 作为其渲染变换,旋转的角度绑定到窗口代码隐藏中的一个属性。

还有一个动画在第一秒内将图像的不透明度从 0 淡化到 1,然后在接下来的两秒内将其保持在 1,然后在最后一秒将其从 1 淡化到 0。

代码隐藏如下所示:

有一个 double 类型的属性 Angle,它包含 RotateTransform 的角度值。它使用 INotifyPropertyChanged 的​​事件处理程序来通知绑定项的更改。还有一个每秒触发 30 次的 DispatcherTimer,并且在每个滴答声中,它都会略微增加 Angle 属性以使其保持旋转。

如果您运行该应用程序,您会发现图像以每秒 1 次旋转的速度旋转,速度为 30fps。它在第一秒内平滑地旋转和淡入,但在不透明度保持为 1 的两秒内,旋转变得非常不稳定。然后,当不透明度开始回退到 0 时,旋转再次变得平滑。

奇怪的是,如果您确保不透明度不保持在 1,则可以解决此问题:如果您在这两秒钟内稍微增加它:

...旋转保持平稳。

这里发生了什么?

0 投票
1 回答
1030 浏览

c# - 将 DispatcherTimer 间隔与滑块值绑定

我想知道是否可以将Slider's绑定ValueDispatcherTimer's Interval?我知道我可以订阅ValueChanged事件然后只是简单地做timer.Interval = new TimeSpan.FromMilliseconds(slider.Value),但是是否可以仅使用Binding机制来达到相同的效果?提前致谢 :)