Visual Basic.NET - Mover objetos con mouse

 
Vista:

Mover objetos con mouse

Publicado por OVM (5 intervenciones) el 22/09/2006 16:42:10
Hola a Todos!!!!!! me gustaría saber como puedo mover algun objeto (ejemplo: botones o textbox) con el mouse mientras la aplicacion se esta ejecutando. Espero que me puedan ayudar y gracias de antemano!!!
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

Mover objetos con mouse

Publicado por Lizy (18 intervenciones) el 07/12/2021 05:34:57
Option Strict On

' Colocar un Panel en el Form
' Copiar este codigo y mover el Form y el Panel desde cualquier punto

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Panel1.BorderStyle = BorderStyle.FixedSingle
End Sub

WithEvents MV As New MUEVE

Private Sub Me_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown, Panel1.MouseDown
Dim CTRL As Control = CType(sender, Control)
MV.Mueve_MouseDown(CTRL, e)
End Sub

Private Sub Me_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove, Panel1.MouseMove
Dim CTRL As Control = CType(sender, Control)
MV.Mueve_MouseMove(CTRL, e)
End Sub

Private Sub Me_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp, Panel1.MouseUp
Dim CTRL As Control = CType(sender, Control)
MV.Mueve_MouseUp(CTRL, e)
End Sub

End Class


Friend Class MUEVE

Dim Xobj As Single, Yobj As Single
Dim Xfrm As Single, Yfrm As Single
Dim SNR As Control
Dim TM As Boolean = False

Sub Mueve_MouseDown(sender As Object, e As MouseEventArgs)
Dim CTRL As Control = CType(sender, Control)

If e.Button = MouseButtons.Left Then

CTRL.BringToFront()

Xobj = e.X
Yobj = e.Y

TM = True

Application.DoEvents()
End If
End Sub

Sub Mueve_MouseMove(sender As Object, e As MouseEventArgs)
Dim CTRL As Control = CType(sender, Control)

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

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

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

Application.DoEvents()
End If
End If
End Sub

Sub Mueve_MouseUp(sender As Object, e As MouseEventArgs)
If e.Button = MouseButtons.Left Then
TM = False
Application.DoEvents()
End If
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
-2
Comentar