vb如何实现几个图象框的轮换显示在另一图片框中
我书上抄来一个程序:窗体拖出4个图像框image,一个时间控件tiemr.在前三个里各放一张图片,目的是程序运行后,三个图片轮流显示在第4个图像框中形成动画效果。我的程序...
我书上抄来一个程序:窗体拖出4个图像框image,一个时间控件tiemr.在前三个里各放一张图片,目的是程序运行后,三个图片轮流显示在第4个图像框中形成动画效果。我的程序抄的没错,可是结果只能显示第一幅。请指教。
另外其中的“flag”是什么意思?
Private Sub Timer1_Timer()
If (flag - 3) = 0 Then
flag = 0
Else
If flag = 0 Then
Image4.Picture = Image1.Picture
ElseIf flag = 1 Then
Image4.Picture = Image2.Picture
ElseIf flag = 2 Then
Image4.Picture = Image3.Picture
End If
flag = flag + 1
End If
End Sub 展开
另外其中的“flag”是什么意思?
Private Sub Timer1_Timer()
If (flag - 3) = 0 Then
flag = 0
Else
If flag = 0 Then
Image4.Picture = Image1.Picture
ElseIf flag = 1 Then
Image4.Picture = Image2.Picture
ElseIf flag = 2 Then
Image4.Picture = Image3.Picture
End If
flag = flag + 1
End If
End Sub 展开
3个回答
展开全部
你对变量的作用域没理解好 这个flag是局部变量 只在一次调用时有效 每次调用都是0 当然只显示第一幅
请在程序开头加上 option explicit on ,再在timer1_timer外显式申明flag ,dim flag as integer = 0
flag起到计数作用,依次显示每幅图片
请在程序开头加上 option explicit on ,再在timer1_timer外显式申明flag ,dim flag as integer = 0
flag起到计数作用,依次显示每幅图片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个代码
要在TIMER1的属性里将Interval的值设为:1000(表示一秒钟显示一次)
Dim flag As Integer‘全局变量
Private Sub Form_Load()
flag = Int(Val(Timer1.Interval / 1000))’在表单的LOAD事件里取值
End Sub
Private Sub Timer1_Timer()‘在这里调用就可以了
If (flag - 3) = 0 Then
flag = 0
Else
If flag = 0 Then
Image4.Picture = Image1.Picture
ElseIf flag = 1 Then
Image4.Picture = Image2.Picture
ElseIf flag = 2 Then
Image4.Picture = Image3.Picture
End If
flag = flag + 1
End If
End Sub
要在TIMER1的属性里将Interval的值设为:1000(表示一秒钟显示一次)
Dim flag As Integer‘全局变量
Private Sub Form_Load()
flag = Int(Val(Timer1.Interval / 1000))’在表单的LOAD事件里取值
End Sub
Private Sub Timer1_Timer()‘在这里调用就可以了
If (flag - 3) = 0 Then
flag = 0
Else
If flag = 0 Then
Image4.Picture = Image1.Picture
ElseIf flag = 1 Then
Image4.Picture = Image2.Picture
ElseIf flag = 2 Then
Image4.Picture = Image3.Picture
End If
flag = flag + 1
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
flag 变量没声明,你在代码最上面加个
Dim flag As Integer
flag在这里起了个标志的作用。对了,,你还要把你Timer1属性中Interval写个值上去,表示多少毫秒切换一次,1000就是1秒。
Dim flag As Integer
flag在这里起了个标志的作用。对了,,你还要把你Timer1属性中Interval写个值上去,表示多少毫秒切换一次,1000就是1秒。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |