Restringir el movimiento del Mouse
Fecha: 22/Mar/04 (26/Mar/2004)
Autor: Aníbal Svarcas. asvarcas@montevideo.com.uy

   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


ir al índice