Skip to content

Delay 延时组件概述

📖 简介

cDelay 是一个延时对象类,支持三种工作模式:事件触发模式、回调函数模式和同步等待模式。适用于需要延时执行的各种场景。

✨ 主要特性

特性说明
三种工作模式事件触发、回调函数、同步等待
支持参数传递回调模式支持最多9个参数
UI不卡顿同步模式使用消息泵,不阻塞UI
可取消支持取消延时操作
全局管理自动管理全局资源和实例计数

🚀 快速开始

事件模式(默认)

vb
Private WithEvents Delay As cDelay

Private Sub Form_Load()
    Set Delay = New cDelay
    Delay.CountDown 3000  ' 3秒后触发 OnTime 事件
End Sub

Private Sub Delay_OnTime()
    Debug.Print "延时结束!"
End Sub

回调模式

vb
Private Delay As cDelay

Private Sub TestCallback()
    Set Delay = New cDelay
    Delay.Callback(Me, "MyFunction", "参数1", 123).CountDown 2000
End Sub

Public Sub MyFunction(ByVal p1 As String, ByVal p2 As Long)
    Debug.Print "回调执行: " & p1 & ", " & p2
End Sub

同步等待模式

vb
Private Delay As cDelay

Private Sub TestSync()
    Set Delay = New cDelay
    
    Debug.Print "开始等待..."
    Delay.Sync().CountDown 3000  ' 等待3秒,不卡UI
    
    If Delay.IsCancelled Then
        Debug.Print "等待被取消"
    Else
        Debug.Print "等待完成"
    End If
End Sub

📋 工作模式对比

模式枚举值说明适用场景
事件模式dmEvent通过 OnTime 事件触发需要事件响应的UI操作
回调模式dmCallback调用指定对象的指定方法需要传递参数的场景
同步模式dmSync阻塞等待但处理消息顺序执行但保持UI响应

🔗 相关文档


最后更新: 2026-05-17

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