定时器控件的使用

前端之家收集整理的这篇文章主要介绍了定时器控件的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们在项目中,有时需要定时执行某些功能,比如每天定时备份数据,或处理一些日终程序等。这里我主要是就VB中的Timer控件来介绍下。Timer控件的最重要的一个属性就是时间间隔属性(Interval)。它是以ms(微秒)为单位,范围0~65535。

这里有个时间的例子,如下:

主要用到的控件有PictureBox,名称属性设置为“PicTime”,还有三个文本框,分别为TxtYear,TextMth,TextDay,还有个用来显示时间的Label,名称为LblTime。布局如下:

定义全局变量

Dim day,year,month,ddate,ttime As String

Dim alf(0 To 11)

Dim rr

Dim nHourLen,nMinLen,nSecLen As Integer

Const Pi = 3.1415926

设定Timer间隔时间为1秒:

Private Sub Form_Load()

Timer1.Interval = 1000

End Sub
Timer事件:

Private Sub Timer1_Timer()

rr = PicTime.Height / 2

ddate = Format(Now,"mm:dd:yy")

ttime = Format(Now,"hh:mm:ss")

month = Left(ddate,2)

day = Mid(ddate,4,2)

year = Right(ddate,2)

hh = Left(ttime,2)

mm = Mid(ttime,2)

ss = Right(ttime,2)

TxtYear.Text = "20" & year

TxtMth.Text = month

TxtDay.Text = day

LblTime.Caption = Time

nWidth = PicTime.Width - 40

nHourLen = nWidth * 4 / 18

nMinLen = nWidth * 6 / 18

nSecLen = nWidth * 8 / 18

alfsec = ((ss - 15) / 30) * Pi

alfmin = ((mm + ss / 60 - 15) / 30) * Pi

alfhour = ((hh + mm / 60 + ss / 3600 - 15) / 6) * Pi

PicTime.Refresh

For I = 0 To 11

alf(I) = I * 30 * Pi / 180

PicTime.DrawWidth = 1

If I = 0 Or I = 3 Or I = 6 Or I = 9 Then

PicTime.DrawWidth = 3

End If

PicTime.Line (rr + (rr - 100) * Cos(alf(I)),rr + (rr - 100) * Sin(alf(I)))-(rr + (rr - 300) * Cos(alf(I)),rr + (rr - 300) * Sin(alf(I))),RGB(255,255)

Next I

PicTime.DrawWidth = 3

PicTime.Line (rr,rr)-(rr + nHourLen * Cos(alfhour),rr + nHourLen * Sin(alfhour))

PicTime.DrawWidth = 2

PicTime.Line (rr,rr)-(rr + nMinLen * Cos(alfmin),rr + nMinLen * Sin(alfmin))

PicTime.DrawWidth = 1

PicTime.Line (rr,rr)-(rr + nSecLen * Cos(alfsec),rr + nSecLen * Sin(alfsec))

PicTime.DrawWidth = 5

PicTime.PSet (rr,rr),255)

End Sub

运行结果如下:

参考:《Visual Basic从入门到精通》

猜你在找的VB相关文章