在 Visual Basic 中使用定时器制作动画?
Animation with Timer in Visual Basic?
我正在尝试使用计时器在单击按钮时创建动画。这是我的代码:
Private Sub Animate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Animate.Click
Timer.Enabled = True
End Sub
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
Dim m As Integer = 0
m = m + 1
Select Case m
Case 1
Me.Arrow4.Visible = True
Me.Arrow5.Visible = True
Me.Arrow6.Visible = True
Case 2
Me.Arrow1.Visible = True
Me.Label1.Visible = True
Me.Arrow4.Visible = False
Me.Arrow5.Visible = False
Me.Arrow6.Visible = False
Case 3
Me.Arrow2.Visible = True
Me.Label2.Visible = True
Me.Arrow1.Visible = False
Me.Label1.Visible = False
Case 4
Me.Arrow3.Visible = True
Me.Label3.Visible = True
Me.Arrow2.Visible = False
Me.Label2.Visible = False
End Select
End Sub
第一个案例显示,但其余情况不显示。我将定时器的时间间隔设置为 1。
谢谢!
其余情况将永远不会显示,因为您总是在计时器方法的范围内将 m
实例化为 0。当 case 语句被命中时,m
将始终为 1。如果要保留该值,则需要将 m
移动到 class 级别的计时器范围之外。当您遇到最后一个案例时,请不要忘记将 m
设置回 0。例如
...
Case 4
Me.Arrow3.Visible = True
Me.Label3.Visible = True
Me.Arrow2.Visible = False
Me.Label2.Visible = False
m = 0
...
我正在尝试使用计时器在单击按钮时创建动画。这是我的代码:
Private Sub Animate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Animate.Click
Timer.Enabled = True
End Sub
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
Dim m As Integer = 0
m = m + 1
Select Case m
Case 1
Me.Arrow4.Visible = True
Me.Arrow5.Visible = True
Me.Arrow6.Visible = True
Case 2
Me.Arrow1.Visible = True
Me.Label1.Visible = True
Me.Arrow4.Visible = False
Me.Arrow5.Visible = False
Me.Arrow6.Visible = False
Case 3
Me.Arrow2.Visible = True
Me.Label2.Visible = True
Me.Arrow1.Visible = False
Me.Label1.Visible = False
Case 4
Me.Arrow3.Visible = True
Me.Label3.Visible = True
Me.Arrow2.Visible = False
Me.Label2.Visible = False
End Select
End Sub
第一个案例显示,但其余情况不显示。我将定时器的时间间隔设置为 1。
谢谢!
其余情况将永远不会显示,因为您总是在计时器方法的范围内将 m
实例化为 0。当 case 语句被命中时,m
将始终为 1。如果要保留该值,则需要将 m
移动到 class 级别的计时器范围之外。当您遇到最后一个案例时,请不要忘记将 m
设置回 0。例如
...
Case 4
Me.Arrow3.Visible = True
Me.Label3.Visible = True
Me.Arrow2.Visible = False
Me.Label2.Visible = False
m = 0
...