关于vb中的timer控件

我现在在一个窗体中放一个label、两个command、一个timer。两个command分别控制label左移和右移,但是我要用一个timer完成,怎么搞定?(用两个timer我是会的)

第1个回答  2020-04-26
新建一个工程,放上三个textbox,一个commandbutton,一个timer
timer的Interval设置为500.
代码如下。
Option
Explicit
Dim
T1
As
Date,
T2
As
Date
Private
Sub
Command1_Click()
T2
=
Time()
Text2
=
T2
Timer1.Enabled
=
False
End
Sub
Private
Sub
Form_Load()
T1
=
Time()
Text1
=
T1
End
Sub
Private
Sub
Timer1_Timer()
Dim
hh
As
Long
Dim
mm
As
Long
Dim
ss
As
Long
Dim
mTs
As
Date
mTs
=
Time()
hh
=
DateDiff("h",
T1,
mTs)
mm
=
DateDiff("n",
T1,
mTs)
ss
=
DateDiff("s",
T1,
mTs)
'mTs
=
T1
'mTs
=
DateAdd("h",
hh,
T1)
'mTs
=
DateAdd("m",
mm,
T1)
'mTs
=
DateAdd("s",
ss,
T1)
Text3
=
Format(hh
&
":"
&
mm
&
":"
&
ss,
"hh:mm:ss")
End
Sub
运行后text1显示开始时间,text3就是你需要的"流逝的时间",按commnd1停止,text2
显示结束的时间。希望解决了你的问题。
第2个回答  2009-10-06
定义一个布尔(只有真和假两种值的)全局的变量
加入command1单击是往左移,bl=true,command2单击往右移,bl=false

在timer1里判断下
if bl=true then
label1.left=label1.left-1
else
label1.left=label1.left+1
end if

呵呵,好久没弄VB了,语法可能有些不对。但我觉得应该能看得懂。本回答被提问者采纳
第3个回答  2019-07-18
简单,现在时间用函数now(
),算间隔时间用函数datediff(),转换格式还是用函数
format()
第4个回答  2019-05-18
如果你懂VB
那怎么写不用教
我可以告诉你计算方式
然后你就可以自己写出自己的风格了
如果需要
就联系我
第5个回答  2009-10-06
Option Explicit

Dim LRDirection As Boolean

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

LRDirection = False
Timer1.Enabled = True

End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Timer1.Enabled = False

End Sub

Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

LRDirection = True
Timer1.Enabled = True

End Sub

Private Sub Command2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

If LRDirection = False Then

Label1.Left = Label1.Left - 10

Else

Label1.Left = Label1.Left + 10

End If

End Sub

Private Sub Form_Load()

Timer1.Interval = 1
Timer1.Enabled = False

End Sub
相似回答