获取System.Windows.Forms.Timer的值?

Con*_*asy 4 c# forms windows timer

Windows窗口计时器有一点问题.这是一个非常基本的问题,但我环顾四周,似乎无法找到答案(我可能应该得到一记耳光).

我需要能够获得计时器的值,无论其经过的时间是否大于500毫秒的间隔.

就像是

Timer.Elapsed >= 500
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 14

Timer.Elapsed不是返回"经过时间"的属性 - 这是您订阅的事件.这个想法是事件频繁发生.

你是否想要一个也不是很清楚Timer- 也许System.Diagnostics.Stopwatch你真的想要的是什么?

var stopwatch = Stopwatch.StartNew();
// Do some work here

if (stopwatch.ElapsedMilliseconds >= 500)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • @Liquid:不是真的。他们分离了两个独立的功能:安排回调和测量经过的时间。你常常想要其中之一而不需要另一个。 (2认同)

cal*_*age 2

将 Timer 的 Interval 属性设置为要触发的毫秒数(在示例中为 500),并为 Tick 事件添加事件处理程序。

  • @DavidHeffernan如果OP问一个[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)问题,我认为你应该回答Y而不是X,我认为Called2voyage 很好地回答了 Y。 (2认同)