Hola Koopa2 yo creo que esto es lo que vos buscas :
Abri un proyecto nuevo pones un timer y un label ,el label colcoalo al centro del formulario para que veas los movimientos ,copia y pega este codigo y juga con los valores asi te daras cuenta de como viene la cosa :
Option Explicit
'declaras 2 variables una para cada movimiento
Dim Horizontal As Integer
Dim Vertical As Integer
Private Sub Form_Load()
Timer1.Enabled = True 'inicia el Timer
Timer1.Interval = 100 'le pone intevalo
Vertical = -100 'asignas valor a las variables
Horizontal = -50 'idem
End Sub
Private Sub Timer1_Timer()
Label1.Top = Label1.Top + Vertical
'le dice que cada golpe de Timer le
'agregue -100 SUBE EL LABEL
Label1.Left = Label1.Left + Horizontal
'le dice que cada golpe de Timer le
'agregue -50 VA PA LA IZQUIERDA EL LABEL
'limite superior
If Label1.Top <= ScaleTop Then
'si llega al limite superior del form
Vertical = 100
'cambia el movimiento que era (-100)
Label1.Top = Label1.Top + Vertical
'lo hace ir para abajo
End If
'limite inferior
If Label1.Top >= ScaleHeight Then
Vertical = -100
Label1.Top = Label1.Top + Vertical
End If
'limite izquierdo
If Label1.Left <= ScaleLeft Then
Horizontal = 100
Label1.Left = Label1.Left + Horizontal
End If
'limite derecho
If Label1.Left >= ScaleWidth Then
Horizontal = -100
Label1.Left = Label1.Left + Horizontal
End If
End Sub
Espero que sea lo que buscas ,si queres que al llegar a los limites no salga de pantalla sumale o restale el ancho o el alto del label.
Chao viejo .-.
"Podemos ser lo mejor y tambien lo peor con la misma facilidad" Bersuit Vergarabat