计时器控件在VB中的应用
VB编程中的精确计时及定时

VB高精度计时器编程在很多场合下编程(例如工业控制、游戏)中需要比较精确的记时器,本文讨论的是在VB下实现记时器的若干方法以及它们的精度控制问题。
在VB中最常用的是Timer 控件,理论上它的记时精度可以达到1ms(毫秒)。
但实际上Timer控件的计时精度无法保证,对于1s的定时事件,也往往会出现50ms以上的计时误差,这对于脉冲信号的采样是不能容忍的。
它只适用于对于精度要求不太高的场合。
这里介绍的是两中利用Windows API函数实现精确记时的方法。
一高性能频率记数法利用这种方法要使用两个API函数QueryPerformanceFrequency和QueryPerformanceCounter。
1、QueryPerformanceFrequency(Frequency)函数其调用格式为:QueryPerformanceFrequency(Frequency) ,调用该函数之后将计算机内部系统定时器的时钟频率存放于变量Frequency中,在VB语言中,可将Frequency定义为Currency类型。
所获取频率值的单位为:HZ函数调用成功后返回非0值,如果安装的硬件不支持高精度计时器,返回02、QueryPerformanceCounter(Counter)函数其调用格式为QueryPerformanceCounter(Counter),调用函数之后,将计算机内部系统定时器的时钟计数值存放于变量Counter中,在VB语言中,可将Counter定义为Currency 类型。
所获取计数值的单位为:个函数调用成功后返回非,0值,如果安装的硬件不支持高精度计时器,返回0分别调用两次QueryPerformanceCounter()函数,并利用两次获得的计数之差除以调用QueryPerformanceFrequency(Frequency)函数所获取的时钟频率,就可以精确计算出两次计数所经过的时间,单位为秒,可以精确到微秒级。
如何在VB程序中设计一个倒计时器

时钟程序设计1 任务描述创建一个倒计时的简单应用程序。
功能是:当在文本框内输入倒计时的分钟数后,单击“开始”按钮就开始倒计时,倒计时结束时,弹出“时间到!”的信2 界面设计添加的控件有:一个标签一个文本框一个命令按钮一个计时器控件设置对象属性:Form1窗体: Caption——”倒计时器”Label1控件:Caption——”请输入倒计时的分钟数”、AutoSize——TrueCommand1控件:Caption——”开始”Text1控件:Alignment——”2-Center”Timer1控件:Intervel——”1000”3 代码设计1.代码编辑器“通用”部分代码:Dim m As Long ’声明一个变量mand1控件代码:'使控件计时器开始工作Timer1.Enabled = True'将分钟数转换为秒数,并保存在变量m中m = Val(Text1.Text) * 60'改变标签控件的标题Label1.Caption = "现在开始倒计时"'使命令按钮不可见Command1.Visible = False3.Timer1控件代码:Private Sub Timer1_Timer()'当timer1.enabled=true时,本程序每秒自动执行一次'每运行一次,就将m变量的值减1秒m = m - 1If m < 0 Then '如果倒计时结束,则Timer1.Enabled = False '关闭计时器MsgBox "时间到!", 0, "倒计时"Label1.Caption = "请输入倒计时的分钟数"Text1.Text = "" '清空文本框Command1.Visible = True '使命令按钮可见Else '否则显示倒计时数Text1.Text = mEnd IfEnd Sub4 保存和运行程序1. 保存工程(1)单击“文件”菜单中的“保存工程”或单击工具栏上的“保存工程”按钮,系统弹出“文件另存为”对话框,提示用户输入窗体文件名。
VB中计时器控件的长定时的实现_史晓影

[ 摘 要] W indo ws 应用程序中通常要 用到时间控制的功能, V B 中定时器 T imer 控 件不能进行长定时, 最大间隔时间 是1 分多钟( 大约64. 8 秒) , 如需要长时间计时, 则需 要多个计时器控件来配合使用, 这样做显得既繁琐又 不实用。本文 利用计数器和创建超长时间计时 器对象能较好地解决长定时问题。 [ 关键词] V B 计时器 长定时
Pr iva te m Fo r m As F ents m T imer A s T imer ' 声明对象类变
量
' 返回 Enable 属性值
Public P ro per ty Get Enabled( ) A s Bo olean
Enabled = m T imer . Enabled
Lo ad m Fo rm
Set m T imer = m Fo rm . T imer1
End Sub
' 类终止事件
Pr iva te Sub CL A SS T er minate( )
U nlo ad m Fo rm
Set m T imer = N o thing
End Sub ' 产生 T ick 事件
if Co unt1= val( T ime1) T hen
Beep
T imer 1. Enabled= Fa lse
End if
End Sub 将定时器的 Interv al 属性值设 为 60000, 使得计数器每 分钟 加1, 当然也可以设置为其他的 值, 如1000, 这样就使得计数器每 秒钟加 1, 但这样要浪费 较多的系统时间。 2 、创建超长时间计时器对象
的时间。如果将 Int erv al 属性设置 为1000, 则表示每秒钟触发一 个 T imer 事件。当把 I nter v al 属性设置 为最大值 65535 时, 表示 触发事件的间隔时间是 1. 09 分钟, 是 时钟控件所能达到的 最大 定时时间, 若需要更长时间计时, 该控件就无能为 力了。例如, 要 开发一个 学习系统 的自我测试 或考试过 程, 需要 限制一个 考试 时间, 一般都在 100~150 分钟。这就需多个 T imer 控件配 合使 用, 这样做显得既繁琐又不实用, 所以本文给出了 利用一个定时 控件来实现长定时问题的两种方法。
巧用vb的TIMER控件

Visual Basic提供一个Timer控件,其本质上是一个具有间隔时间设置所触发的时间程序,使我们可以将其隐藏在系统中,以某一时间间隔触发相关程序。
灵活地运用它可以取得很巧妙的效果。
下面,我们举一个例子。
我们可以在界面设计中设计出这样一种效果:一行文字在窗体中自左向右逐渐滚动,从右边“滚”出窗体的文字,又在左边逐渐出现。
如此循环下去。
类似电视上的滚动信息。
这样可使你设计的软件显得很生动,极易引起用户的兴趣。
其实,使用Visual Basic的Timer控件就可很容易地实现它。
首先,我们在窗体中设置两个Label控件Label1、Label2。
这两个控件中除Left属性外,其他属性设置成完全一样。
这主要是为了实现循环滚动的效果。
它们的Caption属性设置为要滚动显示的文字。
另外再调整好其字体、大小和颜色等。
在Form-Load过程中设置Label2.Left=-6240(窗体宽度),Label1.Left=0。
这样可保证La bel1的一部分“滚”出窗体,则Label2的一部分就进入窗体。
而形成循环滚动在窗体中设置?/FONT>Timer控件。
Timer控件的Interval属性决定滚动的速度,单位是毫秒。
例如,我们设置成300,则每隔0.3秒滚动一次。
然后,在Timer1-Timer()过程中加入如下程序:Private Sub Timer1-Timer()Label1.Left=Label1.Left+50Label2.Left=Label2.Left+50If Label1.Left>=6240 ThenLabel1.Left=-6240End IfIf Label2.Left>=6240 ThenLabel2.Left=6240End IfEnd Sub滚动效果就形成了,感兴趣的读者可以试试看。
只要灵活运用Timer控件,我们还可以设计出更有趣的效果。
如用Timer控件控制按钮控件的Visible属性,形成闪烁按钮。
如何在VB程序中设计一个倒计时器

如何在VB程序中设计一个倒计时器
一、介绍
倒计时器是指当事件发生后,计算从该事件起至其中一预定时刻的倒
推时间,有许多应用。
例如,在大型体育活动中,要实现对比赛的倒计时,可以帮助参赛者和观众对赛事的进展情况进行掌握,从而获得一个良好的
比赛体验。
本文将讲述如何在VB程序中设计一个倒计时器,可以帮助用
户进行计时管理,便于相关的任务安排和管理。
二、倒计时器的设计
1、设计倒计时器的界面
在程序的设计过程中,需要设计一个能够展示倒计时剩余的时间数的
界面,比如可以使用Label或者TextBox控件来表现出相关的倒计时信息,这样可以更好的为用户提供便捷的操作流程,比如:
Private Sub Form_Load
'设置初始倒计时的时间
Text1.Text=1200
End Sub
2、编写倒计时器的逻辑
在程序的设计过程中,需要编写出一个能够控制倒计时的逻辑,具体
的就是要在每一段时间内使用Timer控件每次减1,直至倒计时的时间等
于0,这样就可以达到倒计时的效果,比如:
Private Sub Timer1_Timer
'每次减1
Text1.Text=Text1.Text-1
'当倒计时为0时提示
If Text1.Text = 0 Then
MsgBox "时间到!"
'停止计时器
Timer1.Enabled = False
End If
End Sub
三、总结
以上就是如何在VB程序中设计一个倒计时器的基本设计过程。
VB2005(Timer控件)

VB2005(Timer控件)定时器控件主要用来计时。
通过计时处理,可以实现各种复杂的操作。
例如:延时、动画等。
Timer控件的常用属性和事件Timer控件的常用属性不是狠多,比较常用的是Interval(间隔)属性,该属性值决定两次调用Timer控件的间隔毫秒数。
Enabled属性用来控制定时器控件是否有效,该控件运行时是不可见的。
定时器控件的属性虽然不多,但其在动画制作、定期执行某个操作等方面起着重要作用。
定时器控件的事件只有一个Tick。
用户可以通过捕捉该事件来对事件进行操作。
Public Class Form12Dim filesave As BooleanPrivate Sub Form12_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadfilesave = FalseEnd SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.TickMe.Timer1.Enabled = FalseIf filesave = False ThenMsgBox("文件没有存储,请及时存储!", MsgBoxStyle.OkOnly) filesave = TrueEnd IfMe.Timer1.Enabled = TrueEnd SubPrivate Sub TextBox1_TextChanged(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChangedfilesave = FalseEnd SubEnd Class。
VB中时钟控件几种运用

VB中时钟控件的几种运用摘要:时钟控件是vb中一个非常重要的常用控件。
它的主要功能是利用系统内部的计时器计时产行时间间隔,定时完成某项任务及进行某种后台处理.正确灵活的运用好时钟控件的设计,可以使我们在应用程序设计中产生非常理想的一些效果. 本文用实例来介绍在vb程序中利用计时器控件与其它控件结合使用产生不同的应用效果。
关键词:timer控件;动态应用;动画设计中图分类号:tp31vb时钟控件(timer)又称计时器、定时器控件,用于按指定的时间间隔周期性地自动触发事件。
它主要有两个功能:一是用于定时完成某项任务,即每隔一段固定的时间就执行一次相同的任务。
另一个是进行某种后台处理。
时钟控件只有一个事件,就是timer 定时器事件。
通过触发timer事件,时钟控件可以有规律地隔一段时间执行一次代码。
时钟控件的关键属性有两个:(1)enabled用于设置timer控件是否响应timer定时器事件。
属性值为true和false。
(2)interval用于返回或设置对timer控件的定时器事件调用周期的时间间隔。
以毫秒为单位,取值范围为0-65535毫秒。
时钟控件在设计时出现在窗体中,而在程序运行阶段是不可见的。
1 计时器(timer)控件与滚动条(hscrollbar)控件的应用1.1 自动求阶乘设计在窗体上设置1个滚动条控件、2个标签控件、1个时钟控件和2个命令按钮(如图1)。
相应代码如下dim n, j, i ‘定义n,j,i三个整型变量private sub command1_click()‘开始按钮事件timer1.enabled = trueend subprivate sub command2_click();暂停按钮事件timer1.enabled = falseend subprivate sub timer1_timer()‘timer事件过程n = hscroll1.valuej = 1for i = 1 to n ‘循环计算n!j = j * inextclslabel1.caption = str(n) + “!=“label2.caption = jif hscroll1.value private sub command3_click()‘退出按钮endend subprivate sub form_load()‘窗体初始化label1.left = form1.widthlabel1.caption = “中华人民共和国”label1.fontsize = 30timer1.interval = 100end subprivate sub timer1_timer()‘timer事件过程label1.left = label1.left - 20if label1.left + label1.width > 0 thenlabel1.left = label1.left - 100elselabel1.left = form1.widthend ifend sub运行结果如图64 计时器(timer)控件与图片框(picturebox)控件和图像框(image)控件的应用。
计时器控件在VB中的应用

计时器控件在VB中的应用计时器控件在工具箱中的名称就是Timer,该控件就是一个非可视控件,即在运行时不可见,用于实现每隔一定时间间隔执行指定的操作。
Timer控件对于其她后台处理也就是非常有用的。
本文用实例来介绍在VB程序中利用计时器控件,实现在程序在启动运行期间各种不同的效果。
下面给出编程设计过程,供读者参考选用。
一、计时器(Timer)控件与标签(Label)控件的应用1、启动VB,新建工程。
在工程中添加一个窗体Form1,在窗体上加入一个Timer 计时器控件Timer1与标签控件Label12、编写相应的代码,实现不同的功能(1)字体颜色发生随机变化的效果,计时器事件(Timer)代码如下:l 窗体Form1的加载事件代码Private Sub Form_Load()Timer1、interval=500Label1、Caption = “欢迎进入VB应用程序”Label1、font、size=20Label1、autosize=trueEnd Subl 计时器(Timer1)控件的Timer事件代码Private Sub Timer1_Timer()Label1、ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)End Sub(2)依次出现字幕的实现效果,相关事件代码如下:Dim i ‘在通用-声明中定义变量‘Private Sub Timer1_Timer()i = i + 1Label1、Caption = Left(“欢迎进入VB应用程序”, i)If i > 10 Theni = 0End IfEnd Sub(3)滚动字幕的实现效果,相关事件代码如下:l 窗体Form1的加载事件代码Private Sub Form_Load()Label1、Caption = “欢迎进入VB应用程序”End Subl 计时器(Timer1)控件的Timer事件代码Private Sub Timer1_Timer()If Label1、Left <= Form1、Width ThenLabel1、Left = Label1、Left + 100ElseLabel1、Left = -Label1、WidthEnd IfEnd Sub(4)制作字体闪烁的效果l 在窗体上添加一个计时器控件:Timer1与两个标签控件:Label1、Label2, l 在工具菜单中添加过程:Chc ,其相关代码如下:Sub Chc(Cont As Control, Color1 As Integer, Color2 As Integer, Color3 As Integer, Color4 As Integer, Color5 As Integer, Color6 As Integer, Color7 As Integer) If Val(Cont、Tag) = Color1 ThenCont、Tag = Color2ElseIf Val(Cont、Tag) = Color2 ThenCont、Tag = Color3ElseIf Val(Cont、Tag) = Color3 ThenCont、Tag = Color4ElseIf Val(Cont、Tag) = Color4 ThenCont、Tag = Color5ElseIf Val(Cont、Tag) = Color5 ThenCont、Tag = Color6ElseIf Val(Cont、Tag) = Color6 ThenCont、Tag = Color7ElseIf Val(Cont、Tag) = Color7 ThenCont、Tag = Color1ElseCont、Tag = Color1End IfCont、ForeColor = QBColor(Cont、Tag)End Subl 窗体的加载事件代码:Private Sub Form_Load()Label1、Caption = “欢迎进入梦想家园”Label1、Font、Name = “华文彩云”Label1、Font、Size = 30Label1、AutoSize = TrueTimer1、Interval = 100End Subl Label2的单击事件代码如下:Private Sub Label2_Click()If Timer1、Enabled = True ThenTimer1、Enabled = FalseLabel2、Caption = “开始闪烁”ElseLabel2、Caption = “停止闪烁”Timer1、Enabled = TrueEnd IfEnd Subl 计时器(Timer)控件的Timer事件代码如下:Private Sub Timer1_Timer()Chc Label1, 1, 3, 5, 8, 10, 12, 14End Sub二、计时器(Timer)控件与进度条(ProgressBar)控件的应用1、启动VB,新建工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计时器控件在VB中的应用
计时器控件在工具箱中的名称是Timer,该控件是一个非可视控件,即在运行时不可见,用于实现每隔一定时间间隔执行指定的操作。
Timer控件对于其他后台处理也是非常有用的。
本文用实例来介绍在VB程序中利用计时器控件,实现在程序在启动运行期间各种不同的效果。
下面给出编程设计过程,供读者参考选用。
一、计时器(Timer)控件与标签(Label)控件的应用
1、启动VB,新建工程。
在工程中添加一个窗体Form1,在窗体上加入一个Timer 计时器控件Timer1和标签控件Label1
2、编写相应的代码,实现不同的功能
(1)字体颜色发生随机变化的效果,计时器事件(Timer)代码如下:
l 窗体Form1的加载事件代码
Private Sub Form_Load()
Timer1.interval=500
Label1.Caption = “欢迎进入VB应用程序”
Label1.font.size=20
Label1.autosize=true
End Sub
l 计时器(Timer1)控件的Timer事件代码
Private Sub Timer1_Timer()
Label1.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
End Sub
(2)依次出现字幕的实现效果,相关事件代码如下:
Dim i …在通用-声明中定义变量…
Private Sub Timer1_Timer()
i = i + 1
Label1.Caption = Left(“欢迎进入VB应用程序”, i)
If i > 10 Then
i = 0
End If
End Sub
(3)滚动字幕的实现效果,相关事件代码如下:
l 窗体Form1的加载事件代码
Private Sub Form_Load()
Label1.Caption = “欢迎进入VB应用程序”
End Sub
l 计时器(Timer1)控件的Timer事件代码
Private Sub Timer1_Timer()
If Label1.Left <= Form1.Width Then
Label1.Left = Label1.Left + 100
Else
Label1.Left = -Label1.Width
End If
End Sub
(4)制作字体闪烁的效果
l 在窗体上添加一个计时器控件:Timer1和两个标签控件:Label1、Label2,
l 在工具菜单中添加过程:Chc ,其相关代码如下:
Sub Chc(Cont As Control, Color1 As Integer, Color2 As Integer, Color3 As Integer, Color4 As Integer, Color5 As Integer, Color6 As Integer, Color7 As Integer) If Val(Cont.Tag) = Color1 Then
Cont.Tag = Color2
ElseIf Val(Cont.Tag) = Color2 Then
Cont.Tag = Color3
ElseIf Val(Cont.Tag) = Color3 Then
Cont.Tag = Color4
ElseIf Val(Cont.Tag) = Color4 Then
Cont.Tag = Color5
ElseIf Val(Cont.Tag) = Color5 Then
Cont.Tag = Color6
ElseIf Val(Cont.Tag) = Color6 Then
Cont.Tag = Color7
ElseIf Val(Cont.Tag) = Color7 Then
Cont.Tag = Color1
Else
Cont.Tag = Color1
End If
Cont.ForeColor = QBColor(Cont.Tag)
End Sub
l 窗体的加载事件代码:
Private Sub Form_Load()
Label1.Caption = “欢迎进入梦想家园”
= “华文彩云”
Label1.Font.Size = 30
Label1.AutoSize = True
Timer1.Interval = 100
End Sub
l Label2的单击事件代码如下:
Private Sub Label2_Click()
If Timer1.Enabled = True Then
Timer1.Enabled = False
Label2.Caption = “开始闪烁”
Else
Label2.Caption = “停止闪烁”
Timer1.Enabled = True
End If
End Sub
l 计时器(Timer)控件的Timer事件代码如下:
Private Sub Timer1_Timer()
Chc Label1, 1, 3, 5, 8, 10, 12, 14
End Sub
二、计时器(Timer)控件与进度条(ProgressBar)控件的应用
1、启动VB,新建工程。
在工程中添加一个窗体Form1,添加计时器(Timer)控件
2、添加进度条(ProgressBar)控件
工具栏控件是VB专业版和企业版所特有的ActiveX控件,可以将其添加到工具箱中,以便在工程中使用,操作方法为:
(1)在主菜单中选择”工程”,在“工程”下拉菜单中选择”部件”,即可打开”部件”对话框
(2)选中Microsoft Windows Common Controls6.0,用鼠标单击“确定”按钮,即可在工具箱中增加一组控件。
其中用来创建进度条的控件是ProgressBar控件。
(3)在窗体底部添加进度条(ProgressBar1)控件,实现功能的相关代码如下:l 窗体Form1的加载事件代码
Dim t …声明变量‟
Private Sub Form_Load()
Timer1.Interval = 100
End Sub
l 计时器(Timer1)控件的Timer事件代码
Private Sub Timer1_Timer()
t = t + 1
ProgressBar1.Value = t
If t = 100 Then
Unload Me …当进度条到100%时,关闭当前窗体‟
End If
End Sub
三、计时器(Timer)控件与图像框(Image)控件的应用
1、事先在F盘(其它盘也可以的)上存储几张扩展名为.JPG的图片,并依次取名为1.JPG、2.JPG、3.JPG…………、6.JPG(这里以保存在F盘上六张图片为例来作说明)
2、添加计时器(Timer)控件
3、图片实现幻灯片效果的相关代码如下:
(1)窗体form1的加载事件代码
Private Sub Form_Load()
T imer1.Interval = 500 …设置计时器(Timer)控件的时间间隔为0.5秒‟
End Sub
(2)计时器(Timer1)控件的Timer事件代码
Dim t …声明变量‟
Private Sub Timer1_Timer()
t = t + 1
If t = 5 Then
Image1.Picture = LoadPicture(“f:\1.jpg”) …加载图片:1.JPG‟
End If
If t = 10 Then
Image1.Picture = LoadP icture(“f:\2.jpg”) …加载图片:2.JPG‟
End If
If t = 15 Then
Image1.Picture = LoadPicture(“f:\3.jpg”) …加载图片:3.JPG‟
End If
If t = 20 Then
Image1.Picture = LoadPicture(“f:\4.jpg”) …加载图片:4.JPG‟
End If
If t = 25 Then
Image1.Picture = LoadPicture(“f:\5.jpg”) …加载图片:5.JPG‟
End If
If t = 30 Then
Image1.Picture = LoadPicture(“f:\6.jpg”) …加载图片:6.JPG‟
End If
If t =35 Then …当t=35,图片再重复从1.JPG 开始加载‟
t = 0
End If
End Sub
以上是笔者在总结实际应用工作中的一些心得与体会,希望本篇文章能对首次使用VB制作启动界面的设计人员有所帮助,以上程序代码均在VB6.0中运行通过。