简单纠错,请大虾指教

xufei3085 2010-12-27 12:42:32

Private Sub Command1_Click()
tmrTimer.Interval = 100
tmrTimer.Enabled = True
End Sub

Private Sub Form_Activate()
Dim i As Integer
tmrTimer.Enabled = False
i = 0
End Sub
Private Sub tmrTimer_Timer()
tmrTimer.Enabled = False
Select Case i
Case 0
imgLCD.Visible = True
imgLCD.Picture = picClipLCD.GraphicCell(0)
Case 1
imgLCD.Picture = picClipLCD.GraphicCell(1)
Case 2
imgLCD.Picture = picClipLCD.GraphicCell(2)
Case 3
imgLCD.Visible = False
i = -1
End Select
i = i + 1
End Sub



如上述代码,点击command1按钮,依次显示在0/1/2位置的图片,可实际上点击后,仅显示位于0位置的图片,再点击command1按钮仍然是显示0位置,图片无变化,到底哪里出错了?谢谢
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fred91 2010-12-27
  • 打赏
  • 举报
回复

Private Sub Form_Activate()
Dim i As Integer
tmrTimer.Enabled = False
i = 0
End Sub


把这段去掉试试
cbm6666 2010-12-27
  • 打赏
  • 举报
回复
Dim i As Integer

你放在Activate事件里面的话, tmrTimer_Timer 事件是调用不到 i 这个变量的

你应该将它放在最上面的通用区, 如此在这个Form里每个事件都能调用到这个变量
fred91 2010-12-27
  • 打赏
  • 举报
回复
对哦 楼上正解

还要注意:

1.整形 I 需要定义在顶部成为模块及变量。
2.tmrTimer的Interval 值太低,闪太快看不出来。
3.Timer事件内不要设置tmrTimer的Enabled为False,不然只能触发一次Timer事件。

代码已经改好了:



Dim i As Integer

Private Sub Command1_Click()
tmrTimer.Interval = 500
tmrTimer.Enabled = True
End Sub

Private Sub tmrTimer_Timer()

Select Case i
Case 0
imgLCD.Visible = True
imgLCD.Picture = picClipLCD.GraphicCell(0)
Case 1
imgLCD.Picture = picClipLCD.GraphicCell(1)
Case 2
imgLCD.Picture = picClipLCD.GraphicCell(2)
Case 3
imgLCD.Visible = False
i = -1
End Select
i = i + 1

End Sub


7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧