读书人

关于一段代码的批改

发布时间: 2013-02-25 10:23:36 作者: rapoo

关于一段代码的修改
本帖最后由 bcrun 于 2013-02-03 14:02:05 编辑 各位大虾


Private Sub Timer1_Timer()
i = i + 1
If i = 0 Then
Picture1(0).Visible = True
Else
Picture1(0).Visible = False
End If
If i = 1 Then
Picture1(1).Visible = True
Else
Picture1(1).Visible = False
End If
If i = 2 Then
Picture1(2).Visible = True
i = -1
Else
Picture1(2).Visible = False
End If
End Sub



我这是做了三个picture控件,想利用时间控件来控制它们一个个轮流显示,如果有30个,那如何改成一个命令来达到效果,谢谢!
[解决办法]
Private Sub Timer1_Timer()
static i as long
select case i
case 0
Picture1(29).Visible =false
Picture1(0).Visible =true
i=i+1
case 29
Picture1(28).Visible =false
Picture1(29).Visible =true
i=0
case else
Picture1(i-1).Visible =false
Picture1(i).Visible =true
i=i+1
end select
next

End Sub

[解决办法]
Private Sub Timer1_Timer()
static I as long
dim J as long

for j=picture1.lbound to picture1.ubound
picture1(j).visible=false
next
picture1(i).visible=true
i=i+1
if i=j then i=0
End Sub

这样无论多少个都会自动循环.
[解决办法]
呵呵,老马有创意。照样改一版:


Private Sub Timer1_Timer()
Dim j As Iteger

i = (i + 1) Mod Picture1.Count

For j = 0 To Picture1.Count - 1
Picture1(0).Visible = IIf(j = i, True, False)
Next j
End Sub

读书人网 >VB

热点推荐