Delay 属性参考
📋 属性列表
| 属性 | 类型 | 读写 | 说明 |
|---|---|---|---|
Mode | DelayMode | 只读 | 当前工作模式 |
IsActive | Boolean | 只读 | 是否正在延时 |
IsCancelled | Boolean | 只读 | 是否被取消(同步模式) |
DelayMs | Long | 只读 | 延时毫秒数 |
🔄 Mode 属性
说明
获取当前的工作模式。
语法
vb
Public Property Get Mode() As DelayMode返回值
| 值 | 常量 | 说明 |
|---|---|---|
| 0 | dmEvent | 事件触发模式 |
| 1 | dmCallback | 回调函数模式 |
| 2 | dmSync | 同步等待模式 |
使用示例
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