Eventos Mouse
La clase MouseEventArgs en C# proporciona información detallada sobre eventos del ratón, como clics, movimientos y rueda. A continuación, se detallan algunas de las propiedades más comunes de MouseEventArgs junto con ejemplos de cómo utilizarlas:
- X:
- Descripción: Obtiene la posición X del puntero del ratón en relación con el área del control.
- Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { int x = e.X; // Usar la posición X según sea necesario }
- Y:
- Descripción: Obtiene la posición Y del puntero del ratón en relación con el área del control.
- Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { int y = e.Y; // Usar la posición Y según sea necesario }
- Location:
- Descripción: Obtiene la posición del puntero del ratón como un objeto
Pointque contiene las coordenadas X e Y. - Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { Point ubicacion = e.Location; // Usar la ubicación según sea necesario }
- Descripción: Obtiene la posición del puntero del ratón como un objeto
- Button:
- Descripción: Obtiene el botón del ratón que se ha pulsado o soltado durante el evento.
- Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { MouseButtons boton = e.Button; // Usar el botón según sea necesario }
- Clicks:
- Descripción: Obtiene el número de clics del ratón durante el evento.
- Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { int numeroDeClics = e.Clicks; // Usar el número de clics según sea necesario }
- Delta:
- Descripción: Obtiene la cantidad de desplazamiento de la rueda del ratón.
- Ejemplo:
private void MiFormulario_MouseWheel(object sender, MouseEventArgs e) { int desplazamientoRueda = e.Delta; // Usar el desplazamiento de la rueda según sea necesario }
- Handled:
- Descripción: Obtiene o establece un valor que indica si el evento ha sido controlado.
- Ejemplo:
private void MiFormulario_MouseClick(object sender, MouseEventArgs e) { // Marcar el evento como manejado e.Handled = true; }
Estas son algunas de las propiedades más utilizadas de la clase MouseEventArgs. Puedes utilizar estas propiedades en eventos como MouseClick, MouseDown, MouseUp, MouseMove, MouseWheel, entre otros, para personalizar la lógica de tu aplicación según las interacciones del ratón.
En estos ejemplos, usaré el evento MouseMove y el evento MouseClick para ilustrar situaciones más complejas.
Ejemplo 1: MouseMove con información detallada
private void MiFormulario_MouseMove(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
MouseButtons botones = e.Button; // Pueden estar múltiples botones presionados simultáneamente
int numeroDeClics = e.Clicks;
string mensaje = $"Posición: X = {x}, Y = {y}\nBotones: {botones}\nNúmero de clics: {numeroDeClics}";
lblInformacion.Text = mensaje; // Supongamos que hay un control Label llamado lblInformacion
}
En este ejemplo, utilizamos el evento MouseMove para mostrar información detallada sobre la posición del ratón, los botones presionados y el número de clics en un control Label.
Ejemplo 2: MouseClick con desplazamiento de rueda
private void MiFormulario_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Middle) // Verificar si se hizo clic con el botón central (rueda)
{
int desplazamientoRueda = e.Delta;
if (desplazamientoRueda > 0)
{
lblResultado.Text = "Desplazamiento hacia arriba";
}
else if (desplazamientoRueda < 0)
{
lblResultado.Text = "Desplazamiento hacia abajo";
}
}
}
En este ejemplo, utilizamos el evento MouseClick para detectar clics con el botón central (rueda) y mostrar si el desplazamiento de la rueda fue hacia arriba o hacia abajo.