Skip to content

CustomControlTimer 类

CustomControlContext.CreateTimer 创建的定时器,由创建它的控件拥有。定时器以 Interval 指定的速率触发 OnTimer,在将 Enabled 设置为 True 启动后开始。

框架以 stdole.IUnknown 类型返回定时器;存储前需用 CType(Of CustomControlTimer)(…) 转换为 CustomControlTimer。控件还应使用 WithEvents 声明字段,以便处理 OnTimer 事件。

vb
Private WithEvents InternalTimer As CustomControlTimer

Private Sub OnInitialize(ByVal Ctx As CustomControls.CustomControlContext) _
        Implements CustomControls.ICustomControl.Initialize

    Set Me.ControlContext = Ctx
    Set Me.InternalTimer = CType(Of CustomControlTimer)(Ctx.CreateTimer())
    Me.InternalTimer.Interval = 250
    Me.InternalTimer.Enabled = True
End Sub

Private Sub OnTimer() Handles InternalTimer.OnTimer
    ' fire every 250ms
End Sub

WaynesTimer 封装单个 CustomControlTimer 并将其 Interval / Enabled 作为设计器可见属性重新暴露。WaynesSlider 使用一个作为内部鼠标按下自动重复定时器。

属性

Enabled

定时器当前是否正在运行。设置为 True 启动;设置为 False 停止。Boolean

语法:object.Enabled [ = value ]

Interval

连续 OnTimer 事件之间的毫秒数。Long。间隔为 0 的定时器永不触发。

语法:object.Interval [ = value ]

在定时器启用时更改 Interval 会在下一次计时生效。

事件

OnTimer

在定时器启用时每隔 Interval 毫秒触发。

语法:object_OnTimer( )

twinBASIC及其LOGO版权为作者"韦恩"所有