Skip to content

Delay 属性参考

📋 属性列表

属性类型读写说明
ModeDelayMode只读当前工作模式
IsActiveBoolean只读是否正在延时
IsCancelledBoolean只读是否被取消(同步模式)
DelayMsLong只读延时毫秒数

🔄 Mode 属性

说明

获取当前的工作模式。

语法

vb
Public Property Get Mode() As DelayMode

返回值

常量说明
0dmEvent事件触发模式
1dmCallback回调函数模式
2dmSync同步等待模式

使用示例

vb
Private Sub CheckMode()
    Select Case Delay.Mode
        Case dmEvent
            Debug.Print "事件模式"
        Case dmCallback
            Debug.Print "回调模式"
        Case dmSync
            Debug.Print "同步模式"
    End Select
End Sub

✅ IsActive 属性

说明

获取当前是否正在进行延时。

语法

vb
Public Property Get IsActive() As Boolean

返回值

  • True - 延时正在进行中
  • False - 延时未开始或已结束

使用示例

vb
Private Sub StartDelay()
    If Delay.IsActive Then
        Debug.Print "延时已在进行中"
        Exit Sub
    End If
    
    Delay.CountDown 3000
End Sub

🚫 IsCancelled 属性

说明

获取同步模式下是否被取消。仅在同步模式下有效。

语法

vb
Public Property Get IsCancelled() As Boolean

返回值

  • True - 延时被取消
  • False - 延时正常完成

使用示例

vb
Private Sub TestSyncWithCancel()
    Dim Delay As New cDelay
    
    ' 启动延时,可以通过 Cancel 方法取消
    Delay.Sync().CountDown 10000
    
    ' 检查是否被取消
    If Delay.IsCancelled Then
        Debug.Print "用户取消了操作"
    Else
        Debug.Print "延时正常完成"
    End If
End Sub

⏱️ DelayMs 属性

说明

获取设置的延时毫秒数。

语法

vb
Public Property Get DelayMs() As Long

使用示例

vb
Private Sub ShowDelayInfo()
    Debug.Print "延时设置: " & Delay.DelayMs & " 毫秒"
End Sub

📌 属性使用场景总结

状态检查

vb
If Delay.IsActive Then
    MsgBox "请等待当前延时结束"
Else
    Delay.CountDown 3000
End If

同步模式结果判断

vb
Delay.Sync().CountDown 5000

If Delay.IsCancelled Then
    ' 用户取消了操作
    Exit Sub
End If

' 继续执行后续操作

最后更新: 2026-05-17

VB6及其LOGO版权为微软公司所有