遍历所有计时器

时间:2015-12-04 00:38:06

标签: vb.net loops timer

我需要遍历表单上的所有计时器并检查它们是否已启用

我找到了以下代码:How will i Stop all timers in a form vb.net

For Each c As Object In Me.components.Components
         If TypeOf c Is Timer Then
            CType(c, Timer).Enabled = False
        End If
    Next

然而它给了我一个错误

 .Enabled is not a member of the system.threading.timer

如何循环浏览所有Windows.forms.timers

2 个答案:

答案 0 :(得分:4)

问题在于您正在进行的投射,CType(c, Timer)使用的是非Timer的非限定类型名称,并且随后会{@ 1}}投放到System.Threading.Timer

如果你完全符合类型名称,那么它应该按照你期望的方式工作:

System.Windows.Forms.Timer

答案 1 :(得分:1)

不是循环遍历每个控件,而是像这样遍历定时器。

For Each c As Timer In Me.components.Components
    If c.Enabled = False Then
        c.Enabled = True
    End If
Next