¿Cómo puedo borrar Cursor.Clip en C # y permitir que el cursor se mueva libremente de nuevo?
Pregunta
Estoy tratando de bloquear el cursor en el formulario, esto es para una aplicación de bloqueo de mouse, estoy tratando de colocar el cursor para que reinicie Cursor.Clip
cuando lo desbloqueen.
Hasta ahora tengo:
Cursor.Clip = new Rectangle(x +8, y +30, Size.Width -16, Size.Height -38);
Eso funciona bien.
Pero no puedo imaginar cómo borrar el clip cuando lo desbloquean.
He intentado Cursor.Dispose ();
pero eso no funciona.
¿Alguna idea? Gracias.
Solución
Establezca Clip
en un Rectangle
que contiene las dimensiones de la pantalla.
Cursor.Clip = Screen.PrimaryScreen.Bounds;
Por supuesto, esto no funcionará con configuraciones de monitores duales, pero entiendes la idea.
Otros consejos
en realidad, la idea es simplemente configurarlo en un nuevo rectángulo
Cursor.Clip = new Rectangle();
Funciona independientemente de la situación.
Intente esto: cuando se inicie su aplicación, obtenga el valor de Cursor.Clip
y guárdelo como el valor sin recortar. Luego, cuando desee restablecer el clip, asigne el valor no recortado.
ACTUALIZACIÓN : En esta página dice que para soltar el cursor en VB.NET, basta con hacer Cursor.Clip = Nothing
. Pero esto es extraño, ya que Rectangle es una estructura y, por lo tanto, no se puede establecer en nulo. Entonces, en C #, tal vez sería Cursor.Clip = Rectangle.Empty
o Cursor.Clip = default (Rectangle)
?