En esta ocacion les traigo un codigo sencillo el cual permite mover formularios sin bordes.
'Definir variables globales; estas van despues de la linea de inherits
Dim ex, ey As Integer
Dim Arrastre As Boolean
'Estas tres subrutinas permiten desplazar el formulario.
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
ex = e.X
ey = e.Y
Arrastre = True
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Arrastre = False
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
'Si el formulario no tiene borde (FormBorderStyle = none) la siguiente linea funciona bien
If Arrastre Then Me.Location = Me.PointToScreen(New Point(Me.MousePosition.X - Me.Location.X - ex, Me.MousePosition.Y - Me.Location.Y - ey))
'pero si quieres dejar los bordes y la barra de titulo entonces es necesario descomentar la siguiente linea y comentar la anterior, osea ponerle el apostrofe
'If Arrastre Then Me.Location = Me.PointToScreen(New Point(Me.MousePosition.X - Me.Location.X - ex - 8, Me.MousePosition.Y - Me.Location.Y - ey - 60))
End Sub
Comentarios
Publicar un comentario
Comentarios