问题标签 [system.timers.timer]

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 回答
439 浏览

c# - “onTimer”没有重载匹配委托“ElapsedEventHandler”

通常,当人们收到“'onTimer' 没有重载匹配委托 'ElapsedEventHandler'”错误时,这是​​由于在每次计时器结束时运行的 void 中不包含 ElapsedEventArgs 参数。此外,当我将代码复制并粘贴到解决方案之外的文件中时,错误似乎消失了,所以我很困惑。有谁知道更简单的方法来解决这个问题?

编辑:是的,调试屏幕产生的官方错误消息是:错误 CS0123:“onTimer”没有重载与委托“ElapsedEventHandler”匹配

EDIT2:解决方案正在改变 yearIncreaser.Elapsed += onTimer; 变成一个 lambda:yearIncreaser.Elapsed += (sender, args) => { }

0 投票
3 回答
531 浏览

c# - C# 简单秒表 - 初学者

我来自嵌入式 C 编程,我对 oop、任务、线程、ecc 完全不了解。我正在弄清楚 C# 和 oop 的基本概念,并想尝试编写一个简单的秒表。

目标:使用按钮切换秒表状态并显示按钮本身内部的值。

到目前为止,我已经做到了这一点:

到了这一点,我只是想用 Button.Content 打印值,但似乎我不能在MainWindow课堂外使用它。

我应该怎么办?我开始考虑在主类中创建一个任务并等待计时器事件打印值,但我对线程和任务一无所知。

0 投票
2 回答
108 浏览

c# - 如何在两个计时器之间创建延迟?

目标

有两种方法:Add() 和 Remove()。

  • Add() 方法每 X 秒发生一次,直到被用户停止;将对象添加到数据库;等待 N 秒;调用 Remove();

  • Remove() 方法由 Add() 方法调用,并删除由 Add() 方法添加的对象。

我的代码

用户只能更改“keepGoing”变量。如果它是假的,计时器应该停止。整个代码在更改时触发(我有一个处理它的帖子 IActionResult。它工作正常。当 keepGoing 更改时,它输入我提供的代码)。

注意:如果对象被插入到数据库并且用户使 keepGoing 为假,则不会执行 Remove()

0 投票
1 回答
399 浏览

c# - C# - 在需要时从多个正在运行的计时器中处理特定的计时器

我创建了一个代码,该代码在用户输入的时间间隔内调度作业,该时间间隔使用将后台线程作为任务运行的方法,并且调度由 System.Threading.Timer 类负责。用户可以选择根据将发生的特定任务同时安排多个作业,但驱动它们的计时器方法是相同的,基于用户输入的时间间隔。现在如果用户想取消一个特定的工作,我该怎么做?请帮助我是这个领域的新手!以下是供参考的大纲,因为我无法发布完整的代码:

按钮单击 => 应用程序获取作业名称、作业时间、间隔并调用方法

下面是我的调度程序代码 =>

用户可以安排多个工作,但如果他想取消一个,我应该如何处理?提前致谢!

0 投票
0 回答
75 浏览

c# - C# 程序中的错误:尝试从不同的线程访问 Control

我在与用户控件绑定的名为 CreateAlarm.cs 的类中的 Visual Studio 中看到以下错误。

'跨线程操作无效:控件'CreateAlarm'从创建它的线程以外的线程访问。

此代码在以下方法上调用:

程序运行的方式是,这行代码是清除用户控件面板的方法,然后通过从用户控件内调用主窗体上的方法来添加更多用户控件。

调用此方法导致问题(导致错误时)的代码如下:

此代码实际上是从带有事件和委托的用户控件中调用的。

问题是单独页面的相同代码导致问题。我认为这可能是因为代码是由使用 System.Timers 结束的计时器运行的。

有没有人对可能是什么问题有任何想法?或有关错误消息的潜在原因的其他信息?

谢谢 :)

0 投票
2 回答
360 浏览

server - Blazor 服务器端计时器运行异常

我有这个 ServerSide Blazor 正在运行,我有:

但是当我运行它时,我会在 Chrome 控制台中获得大量日志,但我希望每 1000 毫秒只能看到日志。任何人都看到了这个问题并找到了解决方法。是的,我可以检查实际时间并进行比较,但我不喜欢它像那般疯狂触发。

0 投票
1 回答
223 浏览

can-bus - 在 CAPL 中收到 ACK 后发送 CAN 帧(使用 CAPL 中的延迟/定时器)

我写了一个 CAPl 代码,它必须发送 CAN 帧来控制步进电机的步进。使用的步进电机是 TMCM-1311 模块。

在上述代码的for循环中,CAN帧是连续发送的,不等待ACK,发送第一个数据帧myMsg1用于将步进电机旋转到一定的步长,所以一旦发送该帧需要一些时间为使步进电机旋转到该位置,一旦它在该位置,则应发送其他 2 个 CAN 帧,即 myMsg2 和 myMsg3。在收到所有发送的 3 个数据帧的 ACK 之后,for 循环中的 i 应该递增,并且应该进行下一次迭代。但是在上面的代码中,for循环正在执行而不等待来自CAN帧的ACK,所以我认为应该在那里使用定时器来延迟并在收到ACK后执行下一次迭代。我尝试使用计时器,但找不到所需的解决方案,

0 投票
1 回答
36 浏览

c# - 与计时器相关的 void 调用会导致整个程序出错

好的,这是代码的重要部分:

所以基本上每次我运行这个所有代码都运行良好,但后来我来到这段代码(如果(pb1.Value == 100 && open == false)),整个程序冻结并输出1秒(由于脚本的当前配置是合乎逻辑的)但是我已经尝试了一百万种不同的方法,它的作用有些相同,它只是向我显示沙漏光标,所有按钮和文本框都放错了位置,进度条消失了,它只是一团糟。

0 投票
1 回答
220 浏览

c# - 是否可以在 Timer 被处理后生成触发 System.Timers.Timer 的 Elapsed 事件的示例?

System.Timers.Timer的文档说 System.Timers.Timer 的Elapsed事件可能Dispose在计时器上被调用后触发。

是否有可能产生确定性或具有某种统计可能性的条件 - 即捕获这种情况的示例?

0 投票
2 回答
205 浏览

c# - 以随机间隔运行函数C#

我在构造函数上调用了这个函数:

我希望间隔dashboardController.Screenshot在 2000 到 6000 之间运行,但是在生成随机数后,它不会改变并继续Screenshotrnd. 我知道这是因为IntervalSC()运行一次,所以间隔的随机数也只生成一次。因此,我正在寻找有关如何使这项工作dashboardController.Screenshot以随机间隔运行的建议。谢谢你。