VB如何使用time控件

想用time控件跟随系统时间,然后到指定的时间点触发设定的时间
2024-11-17 00:30:51
推荐回答(2个)
回答1:

VB使用 Timer 控件:

Timer
控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理,
Timer 控件也非常有用。

每个 Timer 控件都有 Interval
属性,指定定时器事件之间的毫秒数。除非禁止此属性,否则定时器在大致相等的时间间隔不断接受事件(称作定时器事件会更贴切)。

在为 Timer 控件编程时应考虑对 Interval 属性的几条限制:

  • 如果应用程序或其它应用程序正在进行对系统要求很高的操作─ 例如长循环、高强度的计算或者正在访问驱动器、网络或端口─ 则应用程序定时器事件的间隔可能比
    Interval 属性指定的间隔长。

  • 间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。

  • 间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。

  • 系统每秒生成 18 个时钟信号─ 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。

每个 Timer 控件必须要与窗体关联。因此要创建定时器应用程序就必须至少创建一个窗体(如果不需要窗体完成其它操作就不必使窗体可见)。

Timer控件报警应用程序代码和制作:

在窗体上放置 Timer 控件

在窗体上放置 Timer 控件的方法与绘制其它控件的方法相同:单击工具箱中的定时器按钮并将它拖动到窗体上。

 Timer 控件只在设计时出现在窗体上,所以可以选定这个控件,查看属性,编写事件过程。运行时,定时器不可见,所以其位置和大小无关紧要。

初始化 Timer 控件

 Timer 控件有两个关键属性。

Option Explicit
    Dim AlarmTime
    Const conMinimized = 1

Private Sub Form_Click()
    AlarmTime = InputBox("输入启动闹钟的时间", "VB 闹钟", AlarmTime)
    If AlarmTime = "" Then Exit Sub
    If Not IsDate(AlarmTime) Then
        MsgBox "您输入的时间无效。"
    Else                                    ' 从 InputBox 返回的字符串使有效时间,
        AlarmTime = CDate(AlarmTime)        ' 将它作为一个日期/时间值存储在 AlarmTime 中。
    End If
End Sub

Private Sub Form_Load()
    AlarmTime = ""
End Sub

Private Sub Form_Resize()
    If WindowState = conMinimized Then      ' 如果窗体被最小化, 在标题处显示时间。
        SetCaptionTime
    Else
        Caption = "闹钟"
    End If
End Sub

Private Sub SetCaptionTime()
    Caption = Format(Time, "Medium Time")   ' 使用中等时间格式显示时间。
End Sub

Private Sub Timer1_Timer()
    Static AlarmSounded As Integer
    If lblTime.Caption <> CStr(Time) Then
        ' 当前秒数与显示秒数不同。
        If Time >= AlarmTime And Not AlarmSounded Then
            Beep
            MsgBox "启动闹钟在 " & Time
            AlarmSounded = True
        ElseIf Time < AlarmTime Then
            AlarmSounded = False
        End If
        If WindowState = conMinimized Then
            ' 如果处于最小化状态, 每分钟都需更新窗体标题。
            If Minute(CDate(Caption)) <> Minute(Time) Then SetCaptionTime
        Else
            ' 否则每秒钟对标签的标题进行更新。
            lblTime.Caption = Time
        End If
    End If

回答2:

Timer 控件(最主要的就是enabled属性,和Interval属性,下面有详细介绍)

通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。

语法

Timer

说明

Timer 控件用于背景进程中,它是不可见的
************************以下是他的属性****************
Enabled 属性

返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。

语法

object.Enabled [= boolean]

Enabled 属性的语法包含下面部分:

部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。如果 object 被省略,则与活动窗体模块相联系的窗体被认为是 object。
boolean 一个用来指定 object 是否能够对用户产生的事件作出反应的布尔表达式。(中网互赢)