Funcionamiento de la entrada del mouse (ratón) en los formularios Windows Forms
Actualización: noviembre 2007
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 |
---|---|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Se produce cuando el puntero del mouse se desplaza mientras se encuentra sobre un control. El controlador de este evento recibe un argumento de tipo MouseEventArgs. |
|
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. |
|
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 |
---|---|
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. |
|
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. |
|
Obtiene el número de botones del mouse. |
|
Obtiene un valor que indica si se han intercambiado las funciones de los botones del mouse. |
|
Obtiene las dimensiones, en píxeles, del rectángulo en el que el puntero del mouse debe permanecer un tiempo para que se genere un mensaje de situación. |
|
Obtiene en milisegundos el tiempo que el puntero del mouse debe permanecer en el rectángulo antes de que se genere un mensaje de situación. |
|
Obtiene un valor que indica si se ha instalado un mouse. |
|
Obtiene un valor que indica la velocidad actual del mouse, de 1 a 20. |
|
Obtiene un valor que indica si se ha instalado la rueda del mouse. |
|
Obtiene la cantidad del valor delta del incremento de un único giro de la rueda de mouse. |
|
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