【问题标题】:Visual Studio timer problemVisual Studio 计时器问题
【发布时间】:2010-10-04 03:14:16
【问题描述】:

我找不到以下问题的任何解释。希望您能帮助我了解解决方案...

让我们创建一个新的 windows 应用程序(使用任何版本的 VS),并添加一个 按钮计时器(我们将区间修改为 = 10)和一个 label(初始文本 = "0 ")。

在定时器中编写如下代码:

label1.Text = (Convert.ToInt32(label1.Text) + 1).ToString();

在按钮中编写如下代码:

timer1.Enabled = true;

标签应显示从 0 开始的增量计数器。

从逻辑上讲,每 100 次计数应该消耗 1 秒,但事实并非如此。 发生的情况是每 100 个计数消耗多于 1 秒!!!

这种行为的原因是什么????!!!

非常感谢您的收听,并等待您的回复,因为我真的搜索了一个解释,但我找不到任何东西。

【问题讨论】:

  • 你为什么要标记那个 Visual Studio?它与 Visual Studio 无关 - 除非您还从刀具制造商处订购了 Pizza。它应该被标记为 .NET / Winforms 等。
  • 是的,你是对的,我本可以这样做...但我想澄清一下,这个“周点”已经有 5 年没有删除了...
  • 重新标记以删除视觉工作室标签,并添加“计时器”,因为这就是它的实际意义。

标签: winforms timer


【解决方案1】:

如果您使用的是System.Windows.Forms.Timer,则精度限制为 55 毫秒。

Windows 窗体计时器组件是单线程的,精度限制为 55 毫秒。如果您需要更准确的多线程计时器,请使用 System.Timers 命名空间中的 Timer 类。

见备注部分:System.Windows.Forms.Timer

【讨论】:

  • 此答案的投票计数下应该有一个绿色轮廓的大复选标记。只需单击复选标记的轮廓,此答案将被标记为已接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
相关资源
最近更新 更多