A continuación tenemos un ejemplo que permitirá mover un formulario en tiempo de ejecución , en nuestro caso estamos utilizando una Label.
Código Fuente
Paso 1: Declaramos la variables que capturen la posición del formulario
Dim oPoint As New System.Drawing.Point
Dim posicionX, posicionY As Integer
Paso 2: Cuando pulsemos click sobre el control capturaremos la posición X , Y del form
Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
If e.Button = MouseButtons.Left Then
'resta la posición del control que manda a la posición de la forma...
posicionX = Control.MousePosition.X - Me.Location.X
'centro del control.
posicionY = Control.MousePosition.Y - Me.Location.Y
End If
End Sub
Paso 3: Asignamos la nueva posición del form
Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove
If e.Button = MouseButtons.Left Then
oPoint = Control.MousePosition
oPoint.X -= (posicionX)
oPoint.Y -= (posicionY)
Me.Location = oPoint
My.Settings.Save()
End If
End Sub
No hay comentarios:
Publicar un comentario