if(!isset($Keywords)) $Keywords = "PHP,Programación,recursos gratis,MYSQL,tips,trucos,diccionario informático,Términos técnicos,Galería de imágenes,Visual Basic,Microsoft,Linux,Apache,IIS,Foro,Manuales" ?>
if(!isset($Description)) $Description = "Recursos gratuitos para programadores y estudiantes de informática" ?>
if(!isset($TITLE)) $TITLE = "Programación, Manuales, Consejos, Trucos (PHP, HTML, CSS, Visual Basic, ASP, MySQL)" ?>
EL TICUS. (en español)
ElTicus.com
Programación, lenguajes y recursos para programadores
**
Como hacer que un formulario sin bordes sea arrastrable con el ratón. En Visual Basic 2005 (.NET)
Publicado por ulices_anibal
Fecha: 2008-05-09 20:05:08
Idioma: Español
Tipo de documento: Código fuente
Como hacer que un formulario sin bordes sea arrastrable con el ratón
Truco para Visual Basic .NET (2003, 2005 o 2008)
El siguiente código fuente muestra como capturar el moviemiento del ratón y hacer que el formulario completo lo siga.
Cuando dejamos un formulario sin bordes podemos estilizarlo mucho más que cuando le dejamos la clásica apariencia de formulario de Windows, sin embargo, en ese caso perdemos la facultad de poderlo reubicar en la pantalla por medio del ratón.
En este código se muestra como poner un PictureBox y hacerlo "Dragable", osea, que de ahà podamos agarrar el formulario para arrastrarlo.
Procedimento
Crea una nueva aplicación para Windows
Al formulario ponle la propiedad FormBorderStyle en None.
Inserta un PictureBox (Dejale el nombre por defecto: PictureBox1) y colócalo en la posición donde quieras que se pueda tomar el formulario para arrastrarlo.
Inserta el siguiente código en el formulario.
NOTA: Para el ejemplo, pinta el PictureBox de Azul o Rojo para que sea más notorio el efecto.
Public Class Form1 Dim bndMov As Byte = 0 Dim PuntoRef As Point
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown bndMov = 1 PuntoRef = e.Location End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove If bndMov = 1 Then
If e.Y > PuntoRef.Y Then Me.Top = Me.Top + (e.Y - PuntoRef.Y) / 2 ElseIf e.Y < PuntoRef.Y Then Me.Top = Me.Top - (PuntoRef.Y - e.Y) / 2 End If
If e.X > PuntoRef.X Then Me.Left = Me.Left + (e.X - PuntoRef.X) / 2 ElseIf e.X < PuntoRef.X Then Me.Left = Me.Left - (PuntoRef.X - e.X) / 2 End If
End If End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp bndMov = 0 End Sub End Class