VB编程如何让标签在窗体中来回滚动
推荐于2017-12-15
展开全部
1楼的答案是对的。但在开始定义变量那里写反了,而且代码写得比较乱,不够清晰。
2楼的答案从开始的想法上就错了,所以代码虽然没有语法上的错误,也很清楚,但却有逻辑错误,不能实现要求的功能。
下面的是我写的,在窗体上添加1个Label和1个Timer,然后把代码复制进去就可以了。
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
Static b As Boolean '我这里用的是静态变量,当然也可以跟1楼一样使用窗体级变量或者全局变量
If Label1.Left <= 0 Or Label1.Left + Label1.Width >= Me.Width Then b = Not b
Label1.Left = Label1.Left + IIf(b, -75, 75)
End Sub
2楼的答案从开始的想法上就错了,所以代码虽然没有语法上的错误,也很清楚,但却有逻辑错误,不能实现要求的功能。
下面的是我写的,在窗体上添加1个Label和1个Timer,然后把代码复制进去就可以了。
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
Static b As Boolean '我这里用的是静态变量,当然也可以跟1楼一样使用窗体级变量或者全局变量
If Label1.Left <= 0 Or Label1.Left + Label1.Width >= Me.Width Then b = Not b
Label1.Left = Label1.Left + IIf(b, -75, 75)
End Sub
2013-04-27
展开全部
在程序中设置一个标志变量(最好为全局变量):如:
dim integer as MoveTag
MoveTag=1 '初始化1,开始时为左移
由时钟控件控制标签的移动
if MoveTag then
label1.left=label1.left - 10 * MoveTag
if label1.left<0 then
MoveTag=-1
else
if label1.left + label1.width >form1.width then
MoveTag=1
end if
end if
end if
1、当标签的左端到达窗体的
dim integer as MoveTag
MoveTag=1 '初始化1,开始时为左移
由时钟控件控制标签的移动
if MoveTag then
label1.left=label1.left - 10 * MoveTag
if label1.left<0 then
MoveTag=-1
else
if label1.left + label1.width >form1.width then
MoveTag=1
end if
end if
end if
1、当标签的左端到达窗体的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体如下:
1、第一个程序是可以执行的,只是必须把j设为全局变量或静态变量,下面是静态变量的方法:
PrivateSubTimer1_Timer()
StaticjAsInteger
Form1.Caption=Space(20-j)&"查找与替换例"
j=(j+1)Mod20
EndSub你自己搞的那个从思路和语法上都是完全错了,而且错得非常离谱,错到姥姥家了!
2、仅从语法上来看,应该这么改:
PrivateSubTimer1_Timer()
IfMe.ScaleLeft<6000Then
Form1.Caption=""+Form1.Caption
ElseIfMe.ScaleLeft>=6000Then
Form1.Caption="查找与替换例"
EndIf
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询