Controlar la introducción de datos por el usuario
Actualización: noviembre 2007
En este tema se describen los principales eventos de teclado y mouse (ratón) proporcionados por System.Windows.Forms.Control. Al controlar un evento, los creadores de controles deben invalidar el método OnnombreDeEvento protegido en lugar de asociar un delegado al evento. Para hacer un repaso de los eventos, vea Provocar eventos de un componente.
Nota: |
---|
Si no existen datos asociados a un evento, se pasa una instancia de la clase base EventArgs como argumento al método OnnombreDeEvento. |
Eventos de teclado
Los eventos de teclado habituales que se pueden controlar son KeyDown, KeyPress y KeyUp.
Nombre del evento |
Método que se va a reemplazar |
Descripción del evento |
---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
Se produce únicamente cuando se presiona una tecla por primera vez. |
KeyPress |
void OnKeyPress (KeyPressEventArgs) |
Se produce cada vez que se presiona una tecla. Si la tecla se mantiene presionada, se produce un evento KeyPress a la velocidad de repetición definida por el sistema operativo. |
KeyUp |
void OnKeyUp(KeyEventArgs) |
Se produce cuando se suelta una tecla. |
Nota: |
---|
Controlar la entrada de datos desde teclado es mucho más complejo que reemplazar los eventos de la tabla anterior y escapa al ámbito de este tema. Para obtener más información, vea Datos proporcionados por el usuario en formularios Windows Forms. |
Eventos del mouse
Los eventos del mouse que puede controlar el control son MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove y MouseUp.
Nombre del evento |
Método que se va a reemplazar |
Descripción del evento |
---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
Se produce cuando se presiona un botón del mouse mientras el puntero del mouse está sobre el control. |
MouseEnter |
void OnMouseEnter(EventArgs) |
Se produce cuando el cursor del mouse entra por primera vez en la zona del control. |
MouseHover |
void OnMouseHover(EventArgs) |
Se produce cuando el puntero se desplaza por encima del control. |
MouseLeave |
void OnMouseLeave(EventArgs) |
Se produce cuando el puntero sale de la zona del control. |
MouseMove |
void OnMouseMove(MouseEventArgs) |
Se produce cuando el puntero se desplaza por la zona del control. |
MouseUp |
void OnMouseUp(MouseEventArgs) |
Se produce cuando se suelta el botón del mouse mientras el puntero está encima del control o sale de la zona del control. |
En el siguiente fragmento de código se muestra un ejemplo de cómo reemplazar el evento MouseDown.
Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
MyBase.OnMouseDown(e)
If Not (myAllowUserEdit) Then
Return
End If
Capture = True
dragging = True
SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
if (!allowUserEdit) {
return;
}
Capture = true;
dragging = true;
SetDragValue(new Point(e.X, e.Y));
}
En el siguiente fragmento de código se muestra un ejemplo de cómo reemplazar el evento MouseMove.
Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
MyBase.OnMouseMove(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseMove(MouseEventArgs e) {
base.OnMouseMove(e);
if (!allowUserEdit || !dragging) {
return;
}
SetDragValue(new Point(e.X, e.Y));
}
En el siguiente fragmento de código se muestra un ejemplo de cómo reemplazar el evento MouseUp.
Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
MyBase.OnMouseUp(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
Capture = False
dragging = False
Value = dragValue
OnValueChanged(EventArgs.Empty)
End Sub
protected override void OnMouseUp(MouseEventArgs e) {
base.OnMouseUp(e);
if (!allowUserEdit || !dragging) {
return;
}
Capture = false;
dragging = false;
value = dragValue;
OnValueChanged(EventArgs.Empty);
}
Para obtener el código fuente completo del ejemplo FlashTrackBar, vea Cómo: Crear un control de formularios Windows Forms que muestre el progreso.
Vea también
Conceptos
Eventos de los controles de formularios Windows Forms
Definir un evento en los controles de formularios Windows Forms
Otros recursos
Datos proporcionados por el usuario en formularios Windows Forms