CustomControlTimer class
A timer created by CustomControlContext.CreateTimer and owned by the control that created it. The timer raises OnTimer at the rate given by Interval, once it has been started by setting Enabled to True.
The framework returns timers typed as stdole.IUnknown; cast to CustomControlTimer with CType(Of CustomControlTimer)(…) before storing. The control should also declare the field with WithEvents so that the OnTimer event can be handled.
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 wraps a single CustomControlTimer and re-exposes its Interval / Enabled as designer-visible properties. WaynesSlider uses one as an internal mouse-down auto-repeat timer.
Properties
Enabled
Whether the timer is currently running. Setting to True starts it; setting to False stops it. Boolean.
Syntax: object.Enabled [ = value ]
Interval
The number of milliseconds between successive OnTimer events. Long. A timer with an interval of 0 never fires.
Syntax: object.Interval [ = value ]
Changing Interval while the timer is enabled takes effect on the next tick.
Events
OnTimer
Raised every Interval milliseconds while the timer is enabled.
Syntax: object_OnTimer( )