vb 自己编了段小程序但是运行效果很差

来源:百度知道 编辑:UC知道 时间:2024/06/11 22:03:14
我编了个在屏幕上随机出现16张图片,并不停切换
但是运行起来很慢,16张图片的切换速度很慢
不知道该怎么办
下面是我的代码
请帮我看看
Dim Num(16) As Long
Dim i As Long
Dim Dir(16) As String

Private Sub CmdEnd_Click()

Timer1.Enabled = False
CmdEnd.Enabled = False
CmdStart.Enabled = True
CmdExit.Enabled = True

End Sub

Private Sub CmdStart_Click()

Timer1.Enabled = True
CmdEnd.Enabled = True
CmdStart.Enabled = False
CmdExit.Enabled = False

End Sub

Private Sub Form_Load()

Timer1.Enabled = False
CmdEnd.Enabled = False
CmdStart.Enabled = True
CmdExit.Enabled = True

End Sub

Private Sub Timer1_Timer()

Randomize
For i = 0 To 15
Num(i) = Int(Rnd * 63 + 1)
Dir(i) = "h:\pic\" + CStr(Num(i)) + ".jpg"
Next

For i = 0 To 15
Image1(i).Picture = LoadPicture(Dir(i))
Next

End Sub

你这个方法图片是每次都要载入,更改一下,在开始时载入所有图片到内存.然后再使用.
用到数据类型
Dim a As StdPicture
赋值
set a=loadpicture()
使用
image1.picture=a
这样就才开始慢一点,后面就很快了

再补充一点,图片名你可以用系统自带的命名方法,全部选中,然后对一个命名,就可以在程序里用循环来加载了.

Private Sub Form_Load()

Timer1.Enabled = False
CmdEnd.Enabled = False
CmdStart.Enabled = True
CmdExit.Enabled = True
Timer1.Interval = 100
End Sub

这种方法本来就很耗时。建议使用direct

自己尝试解决吧