VB 中如何用timer顺序显示图片

有十个图片分别是image1(0)到image1(9),image1的Visible的值开始为false为什么我一运行就只显示第一个image1(0)PrivateSub... 有十个图片分别是 image1(0)到 image1(9),image1的Visible的值开始为 false 为什么我一运行就只显示第一个image1(0)

Private Sub Form_Load()
Dim a As Long
a = 0
End Sub

Private Sub Command1_Click()
Timer1.Enabled = True
Timer1.Interval = 200
End Sub

Private Sub Timer1_Timer()
Image1(a).Visible = True
a = a + 1
End Sub
展开
 我来答
面包好好吃哦
2009-03-11 · TA获得超过412个赞
知道答主
回答量:293
采纳率:0%
帮助的人:0
展开全部
变量a你是在Form_Load()里定义的,因此它只能在Form的Load事件中起作用,要想在其他过程也用到该变量,请在窗体的“通用”里定义,或者在Timer1_Timer()里定义,根据你的要求可定义成静态变量,静态变量在每次调用某个过程时,它的值是保留的。

你可在VB的选项中在“要求变量声明”前打上勾,这是个好习惯,碰到未定义的变量VB会报错。
yhu53603fd94fe
2009-03-10 · TA获得超过7838个赞
知道大有可为答主
回答量:7079
采纳率:55%
帮助的人:2848万
展开全部
Private Sub Timer1_Timer()
Image1(a).Visible = True
Image1(a-1).Visible = false
a = a + 1
if a>9 then a=0
End Sub
代码再稍微修改一下,思路就是这样。
不显示的要隐藏并判断是否是最后,一直循环下去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4097ef0e3
2009-03-11 · TA获得超过338个赞
知道答主
回答量:218
采纳率:0%
帮助的人:0
展开全部
Dim a As Long '这是一个窗体级别的变量,主要就是这里出了问题。

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Image1(a).Visible = False '这里要使得前面的image 为不可见。
a = a + 1
Image1(a).Visible = True
If a >= 9 Then a = 0
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式