VB 无阻塞延迟函数实现

在VB开发中,经常需要实现程序的延迟执行。传统的 Sleep 函数会阻塞程序执行,导致程序在延迟期间无法响应用户操作。介绍一种基于计时器的无阻塞延迟函数,该函数能够在不中断程序执行的情况下,实现精确的延迟效果。

Public Module DelayModule

    Public Sub Delay(ByVal milliseconds As Long)
        Dim endTime As Long
        endTime = GetTickCount() + milliseconds

        Do While GetTickCount() < endTime>

使用方法:

在需要延迟的代码行之前调用 Delay 函数,并传入延迟时间(单位:毫秒)。

示例:

' 延迟 1 秒
Delay 1000

' 执行后续代码

注意:

  • 该函数利用 GetTickCount 函数获取系统启动后的毫秒数,并通过循环等待的方式实现延迟。
  • DoEvents 语句用于将控制权交回给操作系统,以便程序在延迟期间能够响应用户操作。
rar
Delay函数.rar 预估大小:6个文件
file
Form1.frm 803B
file
clswaitabletimer.cls 6KB
file
工程1.vbp 666B
file
MSSCCPRJ.SCC 190B
file
Module1.bas 427B
file
工程1.vbw 123B
rar 文件大小:3.79KB