我想在一个类里面写程序定义一个时钟,如:Dim tim As Timer,
然后循环出触发Private Sub tim_Timer()事件,弹出一个对话框。紧急求教

解决方案 »

  1.   

    '---------------------------------------------------------------------------------
    '以下是调用此类的
    '---------------------------------------------------------------------------------Public WithEvents objTempM As timeObjCls        '声明一个新的对象的事件
    Private i As LongPrivate Sub Command1_Click()
    Set objTempM = New timeObjCls                   '实例化一个对象
    objTempM.timeStar 1                               '开始
    End SubPrivate Sub Form_Unload(Cancel As Integer)
      Set objTempM = Nothing
    End SubPrivate Sub objTempM_timeEvent()                '事件中需要完成的任务
        i = i + 1
        Debug.Print i
        If i > 10000 Then
            Set objTempM = Nothing
        End If
    End Sub'---------------------------------------------------------------------------------
    '以下是类代码中的
    '---------------------------------------------------------------------------------Public Event timeEvent()        '声明一个事钟事件,外部使用
    Private lngE As Long
    Private boolIsEnd As BooleanPublic Sub timeStar(intervalLng As Long, Optional boolF As Boolean = False)
       
    Dim lngA As LongDo While True
      DoEvents
      If ((Timer - lngE) > intervalLng) And (Not boolIsEnd) Then         '如果时间间隔大于
                '引发事件
                RaiseEvent timeEvent
                lngE = Timer
           Else
                If boolIsEnd Then
                    '退出循环
                    Exit Do
                End If
      End If
    Loop
    End Sub