Я не понимаю, почему это не работает, я пробовал цикл For, делаю до цикла и делаю цикл while, но они просто не хотят работать. Без циклов он работает отлично, но я хочу использовать циклы, чтобы уменьшить используемые строки кода. «Хаб» вызывает этот класс, используя MoveHub.MoveUp(10)
, и то же самое относится к MoveDown
, но он как будто ничего не делает. Какие-либо предложения?Почему циклы в этом коде не работают?
Я проверил все в форме концентратора, код там не проблема. Это класс 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
Можете ли вы установить точку останова в начале ваших функций, а затем переходить через каждую строку при проверке значения 'pos'? –
Что именно не работает? –
Это отличная возможность научиться использовать отладчик! это важный навык любого * профессионального программиста или серьезного энтузиаста * должен иметь – Plutonix