Compartir a través de


Funcionamiento de la entrada del mouse (ratón) en los formularios Windows Forms

Recibir y controlar la entrada del mouse es un aspecto importante de cada aplicación para Windows. Se pueden controlar los eventos del mouse para realizar una acción en la aplicación o utilizar la información de ubicación del mouse para realizar comprobaciones de visitas u otras acciones. Además, puede cambiar el modo en que los controles de la aplicación controlan la entrada del mouse. Este tema describe con detalle estos eventos del mouse y cómo obtener y cambiar la configuración del sistema para el mouse. Para obtener más información sobre los datos proporcionados mediante los eventos del mouse y el orden en que se producen los eventos clic del mouse, vea Eventos del mouse (ratón) en formularios Windows Forms.

Ubicación del mouse y comprobación de visitas

Cuando el usuario mueve el mouse, el sistema operativo mueve el puntero. El puntero del mouse contiene un único píxel, denominado punto activo que el sistema operativo sigue y reconoce como la posición del puntero. Cuando el usuario mueve el mouse o presiona un botón del mismo, Control que contiene HotSpot provoca el evento correspondiente del mouse. Puede obtener la posición actual del mouse con la propiedad Location de MouseEventArgs controlando un evento del mouse o utilizando la propiedad Position de la clase Cursor. Posteriormente puede utilizar la información de ubicación del mouse para realizar la comprobación de visitas y, a continuación, realiza una acción basada en la ubicación del mouse. La función de comprobación de visitas se utiliza para varios controles de formularios Windows Forms como ListView, TreeView, MonthCalendar y los controles DataGridView. Si se utiliza con el evento del mouse adecuado, por ejemplo MouseHover, la comprobación de visitas es muy útil para determinar cuando debería realizar la aplicación una acción concreta.

Eventos del mouse

El modo principal para responder a la entrada del mouse es controlar los eventos del mouse. La tabla siguiente muestra los eventos del mouse y describe cuando se producen.

Eventos del mouse

Descripción

Click

Se produce cuando se suelta el botón del mouse, normalmente antes del evento MouseUp. El controlador de este evento recibe un argumento de tipo EventArgs. Controle este evento cuando sólo necesite determinar cuando se debe producir un clic.

MouseClick

Se produce cuando el usuario hace clic en el control. El controlador de este evento recibe un argumento de tipo MouseEventArgs. Controle este evento cuando necesite obtener información sobre el mouse cuando se produce un clic.

DoubleClick

Se produce cuando se hace doble clic en el control. El controlador de este evento recibe un argumento de tipo EventArgs. Controle este evento cuando sólo necesite determinar cuando se debe producir un doble clic.

MouseDoubleClick

Se produce cuando el usuario hace doble clic en el control. El controlador de este evento recibe un argumento de tipo MouseEventArgs. Controle este evento cuando necesite obtener información sobre el mouse cuando se produce un doble clic.

MouseDown

Se produce cuando el puntero del mouse se sitúa encima del control y el usuario presiona un botón del mouse. El controlador de este evento recibe un argumento de tipo MouseEventArgs.

MouseEnter

Se produce cuando el puntero del mouse entra en el borde o área de cliente del control dependiendo del tipo de control. El controlador de este evento recibe un argumento de tipo EventArgs.

MouseHover

Se produce cuando el puntero del mouse se detiene y permanece sobre el control. El controlador de este evento recibe un argumento de tipo EventArgs.

MouseLeave

Se produce cuando el puntero del mouse deja el borde o área de cliente del control dependiendo del tipo de control. El controlador de este evento recibe un argumento de tipo EventArgs.

MouseMove

Se produce cuando el puntero del mouse se mantiene mientras se encuentra sobre un control. El controlador de este evento recibe un argumento de tipo MouseEventArgs.

MouseUp

Se produce cuando el puntero del mouse se sitúa encima del control y el usuario suelta un botón del mouse. El controlador de este evento recibe un argumento de tipo MouseEventArgs.

MouseWheel

Se produce cuando el usuario gira la rueda del mouse mientras el control tiene el foco. El controlador de este evento recibe un argumento de tipo MouseEventArgs. Puede utilizar la propiedad Delta de MouseEventArgs para determinar el recorrido de desplazamiento del mouse.

Cambiar la entrada del mouse y detectar la configuración del sistema

Puede detectar y cambiar la manera en que un control controla la entrada del mouse derivando del control y utilizando los métodos GetStyle y SetStyle. El método SetStyle utiliza una combinación bit a bit de los valores ControlStyles para determinar si el control tendrá un comportamiento de clic o de doble clic estándar o si el control controlará su propio procesamiento del mouse. Además, la clase SystemInformation incluye propiedades que describen las funciones del mouse y especifican cómo interactúa el mouse con el sistema operativo. La siguiente tabla proporciona un resumen de estas propiedades.

Propiedad

Descripción

DoubleClickSize

Obtiene las dimensiones, en píxeles, del área donde el usuario debe hacer clic dos veces para que el sistema operativo tenga en cuenta los dos clics.

DoubleClickTime

Obtiene el número máximo de milisegundos que pueden pasar entre el primer clic y el segundo para que el sistema operativo tenga en cuenta la acción del doble clic.

MouseButtons

Obtiene el número de botones del mouse.

MouseButtonsSwapped

Obtiene un valor que indica si se han intercambiado las funciones de los botones del mouse.

MouseHoverSize

Obtiene las dimensiones, en píxeles, del rectángulo en el que el puntero del mouse debe permanecer un tiempo de desplazamiento para que se genere un mensaje de desplazamiento.

MouseHoverTime

Obtiene en milisegundos el tiempo que el puntero del mouse debe mantenerse en el rectángulo antes de que se genere un mensaje de desplazamiento.

MousePresent

Obtiene un valor que indica si se ha instalado un mouse.

MouseSpeed

Obtiene un valor que indica la velocidad actual del mouse, de 1 a 20.

MouseWheelPresent

Obtiene un valor que indica si se ha instalado la rueda del mouse.

MouseWheelScrollDelta

Obtiene la cantidad del valor delta del incremento de un único giro de la rueda de mouse.

MouseWheelScrollLines

Obtiene el número de líneas de desplazamiento al girar la rueda del mouse.

Vea también

Conceptos

Captura del mouse (ratón) en formularios Windows Forms

Punteros del mouse (ratón) en formularios Windows Forms

Otros recursos

Entradas mediante el mouse (ratón) en una aplicación de Windows Forms