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版权为微软公司所有