如何在form上显示从有到左均匀移动的字符串。并且一次结束后可以重复的再开始 我想在我的开始form上显示提示信息。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在timer事件中label1.left=label1.left+20if label1.left>form1.scalewidth thenlabel1.left=form1.left-label1.width '在form上画一个Frame,Frame的Borderstyle设为0'在Frame上画一个Label,Label宽度同Frame的宽度,内容自定'复制并粘贴这个label,粘贴时不要创建控件数组,把粘贴的label移至Frame右侧之外'粘贴下面这段代码Private Sub Timer1_Timer() Label1.Left = Label1.Left - 50 If Frame1.Left > Label1.Left + Label1.Width Then Label1.Left = Frame1.Left + Frame1.Width Label2.Left = Label2.Left - 50 If Frame1.Left > Label2.Left + Label2.Width Then Label2.Left = Frame1.Left + Frame1.WidthEnd Sub 很对,加个end if 就可以了。不过,我想知道form1.left是什么意思? form1的左边撒 吼吼 我忽然想起VBA中有一个控件是专门干这种事的,可控件的名字我忘了,你查下资料很容易找到。 楼上的,我要啊[email protected] 用一个Timer控件控制一个Label控件运动然后在其它的代码控制Label的Caption属性不是就搞定了? 好像就是想要跑马灯效果吧?我试着写了一个在窗体上放一个label和一个timer,然后复制下面的代码Private Sub Form_Resize()Dim YourStr As String, StrLen As IntegerYourStr = "跑马灯效果示例"With Label1.BackColor = vbBlue '定义前景色和背景色,显眼.ForeColor = vbYellow.Left = 0 '设置位置,设计窗体时放好位置就不用这两句了.Top = 0.AutoSize = True '这段关键'是使label随内容长度自动改变其宽度,在label里填充空格'记下多少个字符时label宽度刚刚好大于窗体宽度.Caption = ""Do While .Width < Me.ScaleWidthStrLen = StrLen + 1.Caption = String(StrLen, " ")Loop.AutoSize = False'然后在你所要显示的文字前加上足够把你的文字顶到窗体外'的空格,然后才是你要显示的文字.Caption = String(StrLen, " ") & YourStrTimer1.Interval = 100 '启动定时器timerEnd WithEnd SubPrivate Sub Timer1_Timer()With Label1'把label里最左面的字符移到最右面,形成文字移动效果.Caption = Right(.Caption, Len(.Caption) - 1) & Left(.Caption, 1)End WithEnd Sub运行试试,还不错:) 使用一个Label和一个Timer就可以了。 VB如何获取系统的当前音量值呢? VB如何用WinIO打字? 如何提取网页上的相关数据? 如何用一条语句将SQL里的表按要求引入ACCESS里 VB中不用引用调用动态连接库? 如何让一个form处于最上面 代码导致程序死机,在线急等,大家来帮帮忙,解决后立即给分 高手求救,字符与byte类型问题, 解决问题可以再给分啊 跪求vb6.0制作的网页浏览器(包括毕业设计++论文) 怎样实现象网络蚂蚁的功能!在word中选种一行文字,把它拖到网络蚂蚁的那个小方框中,就会出现对话框?急! 豪杰超级解霸是用什么工具编写的? 关于我在工程组里用自定义activx控件的问题
label1.left=label1.left+20
if label1.left>form1.scalewidth then
label1.left=form1.left-label1.width
'在Frame上画一个Label,Label宽度同Frame的宽度,内容自定
'复制并粘贴这个label,粘贴时不要创建控件数组,把粘贴的label移至Frame右侧之外
'粘贴下面这段代码Private Sub Timer1_Timer()
Label1.Left = Label1.Left - 50
If Frame1.Left > Label1.Left + Label1.Width Then Label1.Left = Frame1.Left + Frame1.Width
Label2.Left = Label2.Left - 50
If Frame1.Left > Label2.Left + Label2.Width Then Label2.Left = Frame1.Left + Frame1.Width
End Sub
不过,我想知道form1.left是什么意思?
然后在其它的代码控制Label的Caption属性不是就搞定了?
我试着写了一个
在窗体上放一个label和一个timer,然后复制下面的代码Private Sub Form_Resize()
Dim YourStr As String, StrLen As Integer
YourStr = "跑马灯效果示例"
With Label1
.BackColor = vbBlue '定义前景色和背景色,显眼
.ForeColor = vbYellow
.Left = 0 '设置位置,设计窗体时放好位置就不用这两句了
.Top = 0
.AutoSize = True '这段关键
'是使label随内容长度自动改变其宽度,在label里填充空格
'记下多少个字符时label宽度刚刚好大于窗体宽度
.Caption = ""
Do While .Width < Me.ScaleWidth
StrLen = StrLen + 1
.Caption = String(StrLen, " ")
Loop
.AutoSize = False
'然后在你所要显示的文字前加上足够把你的文字顶到窗体外
'的空格,然后才是你要显示的文字
.Caption = String(StrLen, " ") & YourStr
Timer1.Interval = 100 '启动定时器timer
End With
End SubPrivate Sub Timer1_Timer()
With Label1
'把label里最左面的字符移到最右面,形成文字移动效果
.Caption = Right(.Caption, Len(.Caption) - 1) & Left(.Caption, 1)
End With
End Sub运行试试,还不错:)