Restringir el
movimiento del Mouse
Fecha: 22/Mar/04 (26/Mar/2004)
Autor: Aníbal Svarcas. [email protected]
Este código muestra como hacer para que el cursor del mouse no se pueda mover fuera de los limites del área cliente de un formulario. El área cliente de un formulario es todo el formulario menos la barra de título.
Para crearlo abrir el Visual Basic .Net y seleccionar un nuevo proyecto para windows.
Agregar en el formulario un botón.
En el evento Click del botón agregar el siguiente código:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click'Definimos una variable estatica para saber si hay que liberar al mouse o capturarlo
Static blnAtrapado As Boolean = False
' x: coordenada horizontal del ángulo superior izquierdo del area cliente del formulario
Dim x As Integer = Me.ClientRectangle.Location.X
' y: coordenada vertical del ángulo superior izquierdo del area cliente del formulario
Dim y As Integer = Me.ClientRectangle.Location.Y
' Creamos el punto que representa el ángulo superior izquierdo' de el area cliente de nuestro formulario
Dim PuntoInicio As Point = Me.PointToScreen(New Point(x, y))
'Creamos un rectangulo del tamaño de el area cliente de nuestro formulario
Dim r As New Rectangle(PuntoInicio, Me.ClientSize)If Not blnAtrapado Then
Button1.Text = "¡Cursor Atrapado!"
' Aquí atrapamos el cursor, pasando como argumento el rectangulo creado
Me.Cursor.Clip = r
blnAtrapado = True
Else
Button1.Text = "¡Cursor Liberado!"
' Liberamos el cursor
Me.Cursor.Clip = Nothing
blnAtrapado = False
End If
End Sub