我需要遍历表单上的所有计时器并检查它们是否已启用
我找到了以下代码: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
?
答案 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