使用Timer移动PictureBox

时间:2014-03-26 15:57:50

标签: vb.net winforms timer picturebox

基本上我要做的是让一个图片框上升,然后向下,然后向下,然后向右,所有这些都基于计时器滴答。我很新,所以我真的不知道出了什么问题。如果你们能给出简单的答案或更好的方法,那就太好了。

Dim slides As Integer

slides += 10
If slides < 20 Then
  PictureBox1.Left += 10
ElseIf slides > 20 AndAlso slides < 40 Then
  PictureBox1.Top += 10
ElseIf slides > 40 AndAlso < 60 Then
  PictureBox1.Left -= 10
ElseIf slides > 60 AndAlso < 80 Then
  PictureBox1.Top -= 10
Else
  slides = 0
End If

1 个答案:

答案 0 :(得分:1)

两件事。确保您的slides整数在Tick事件之外。另外,请务必覆盖代码未检查的“等于”条件,因此slides会不断落入“其他”类别并重新设置为零。也就是说,当slides等于20时,您没有满足它的条件,因此它会重置为零。

Private slides As Integer

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  slides += 10
  If slides <= 20 Then
    PictureBox1.Left += 10
  ElseIf slides > 20 AndAlso slides <= 40 Then
    PictureBox1.Top += 10
  ElseIf slides > 40 AndAlso slides <= 60 Then
    PictureBox1.Left -= 10
  ElseIf slides > 60 AndAlso slides <= 80 Then
    PictureBox1.Top -= 10
  Else
    slides = 0
  End If
End Sub