Private Sub Timer1_Timer() strTime = Str(Time)
Label1.Caption = "现在时间是:" + strTime + "." + Str(ms)
If Label1.Left >= -Label1.Width Then
Label1.Left = Label1.Left - 20
Else
Label1.Left = Form1.Width
End If
If ms < 9 Then
ms = ms + 1
Else
ms = 0
End If
为什么那里有减号呢` ”-Label1.Width“ ,后面有要减去20 ,它是怎么比较的呢,后面为什么等于Form1的宽度~,能不能把原理说一下~
这段程序是实现移动字幕的~~~
Label1.Caption = "现在时间是:" + strTime + "." + Str(ms)
If Label1.Left >= -Label1.Width Then
Label1.Left = Label1.Left - 20
Else
Label1.Left = Form1.Width
End If
If ms < 9 Then
ms = ms + 1
Else
ms = 0
End If
为什么那里有减号呢` ”-Label1.Width“ ,后面有要减去20 ,它是怎么比较的呢,后面为什么等于Form1的宽度~,能不能把原理说一下~
这段程序是实现移动字幕的~~~
If Label1.Left >= -Label1.Width Then
Label1.Left = Label1.Left - 20
Else
Label1.Left = Form1.Width
End If
意思是说,只要LABEL依然在窗体中(哪怕是部分)就把位置向左面移动20(估计这个没有把窗体SCALEMODE设为PIXEL)
如果LABEL的左边距已经在窗体再左面的LABEL宽度之外,那就说明LABEL已经没有显示在窗体上了,这时就把LABEL的左边距设为窗体宽度(此时LABEL就跑到窗体右面去了,然后再继续向左面移动)