Visual Basic.NET - Arrastrar controles en .Net en tiempo de ejecución

 
Vista:

Arrastrar controles en .Net en tiempo de ejecución

Publicado por Juan Antonio (1 intervención) el 03/06/2002 15:15:10
Hola:

Necesito saber cómo hacer para que el usuario pueda arrastrar controles en tiempo de ejecución. En visual basic 6 se haría con el método Drag, por ejemplo: Command1.Drag vbBeginDrag, sin embargo ese método no existe en .Net

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Arrastrar controles en .Net en tiempo de ejecución

Publicado por Lizy (18 intervenciones) el 10/12/2021 20:51:19
' A quien lo lea, pueden hacerlo así:
' Colocar un Panel en el Form
' Copiar este código y se podrá mover el Form y el Panel con el mouse

Option Strict On

Public Class Form1

Dim MVE As Boolean = False
Dim Xobj As Single, Yobj As Single
Dim Xfrm As Single, Yfrm As Single

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Dim CTRL As Control

Private Sub Mueve_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown, Panel1.MouseDown
CTRL = CType(sender, Control)

If e.Button = MouseButtons.Left Then
CTRL.BringToFront()

Xobj = e.X
Yobj = e.Y

MVE = True
End If
End Sub

Private Sub Mueve_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove, Panel1.MouseMove
CTRL = CType(sender, Control)

If MVE = True Then
If e.Button = MouseButtons.Left Then

Xfrm = e.X + CTRL.Left
Yfrm = e.Y + CTRL.Top

CTRL.Left = CInt(Xfrm - Xobj)
CTRL.Top = CInt(Yfrm - Yobj)

CTRL.Refresh()
Application.DoEvents()
End If
End If

End Sub

Private Sub Mueve_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp, Panel1.MouseUp
MVE = False
End Sub

End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar