我不明白为什么它不起作用,我已经尝试了For循环,直到循环并执行while循环,但他们只是不想工作。没有循环,它工作得很好,但我想使用循环来减少正在使用的代码行。 “Hub”使用MoveHub.MoveUp(10)
调用此类,MoveDown
也是如此,但它就像什么都没做。有什么建议吗?
我已经在Hub表单中测试了所有内容,代码没有问题。这是导致问题的MoveHub类。
以下是代码:
Public Class MoveHub
Public pos As Integer
Public toggle As Boolean
Public Sub MoveUp(speed As Integer)
If (pos > 0) Then
' For Me.pos = 9 To 0
Do Until pos = 0
pos -= 1
Hub.Location = (New Point(Hub.Location.X, Hub.Location.Y - speed))
If pos = 0 Then
Hub.DragPic.Image = My.Resources.DropPicture4
toggle = True
End If
Loop
' Next
End If
End Sub
Public Sub MoveDown(speed As Integer)
If (pos < 10) Then
'For Me.pos = 0 To 9
Do Until pos = 9
pos += 1
Hub.Location = (New Point(Hub.Location.X, Hub.Location.Y + speed))
If pos = 9 Then
Hub.DragPic.Image = My.Resources.DropPicture4_Up
toggle = False
End If
Loop
'Next
End If
End Sub
End Class
答案 0 :(得分:1)
我认为你正在调用MoveUp(10)和asusme,循环将运行10次。
这个假设是不正确的。因为接收传递值10的参数是速度。而循环由变量pos控制。
如果我的假设不正确,那么你需要提供调用这些方法的代码以及设置pos的值。