martes, 12 de marzo de 2013

Mover un formulario desde un control

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.ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles 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.ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles 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