Hacer que el programa reaccione ante el usuario: crear un controlador de eventos

Actualización: noviembre 2007

En esta lección, aprenderá a crear un controlador de eventos.

Como se ha visto en lecciones anteriores, los controles tienen propiedades, métodos y eventos y se utilizan para crear la interfaz de usuario. Los eventos son situaciones especiales que le pueden suceder a un control. Por ejemplo, se puede hacer clic en un control, se puede escribir texto en él, se puede mover el puntero del mouse sobre el control y así sucesivamente.

Cuando ocurre algo interesante, el control provoca un evento. Esto significa que envía una señal al programa para notificarle que ha sucedido algo. El programa comprueba si tiene algún método para controlar dicho evento. Tales métodos se denominan controladores de eventos. Un ejemplo sería un método que se ejecuta cuando se hace clic en un botón, como el método creado en Interactuar con el usuario: utilizar botones.

Los controles pueden provocar varios tipos de eventos, pero siempre hay un evento predeterminado para cada control. Puede crear controladores de eventos para una variedad de eventos de control. En esta lección, creará controladores de eventos para administrar el controlador de eventos predeterminado de un botón, el evento Click. Se trata del evento que tiene lugar cuando se hace clic en el botón. Después, creará controladores de eventos para administrar los eventos MouseEnter y MouseLeave del botón. Estos eventos se desencadenan cuando el puntero del mouse se mueve sobre un control.

¡Inténtelo!

Para controlar el evento Click

  1. En el menú Archivo, haga clic en Nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación para Windows.

  3. En el cuadro Nombre, escriba EventHandler y, a continuación, haga clic en Aceptar.

    Se abre un nuevo proyecto de formularios Windows Forms.

  4. En el Cuadro de herramientas, arrastre un control Button hasta el formulario.

  5. En la ventana Propiedades, establezca la propiedad AutoSize en True.

  6. En el menú Ver, haga clic en Código para abrir el Editor de código.

    Justo sobre el Editor de código, observe los dos cuadros desplegables. El cuadro de la izquierda contiene una lista de todos los controles que aparecen en el formulario, además de Form1, (General) y (Eventos de Form1). El cuadro de la derecha muestra cada uno de los eventos disponibles para el elemento que se muestra en el cuadro de la izquierda.

  7. En el cuadro de la izquierda, haga clic en Button1.

  8. En el cuadro de la derecha, haga clic en Click.

    Aparece un nuevo controlador de eventos denominado Button1_Click en el Editor de código.

    Nota:

    Puede escribir el controlador de eventos predeterminado de un control haciendo doble clic en el control en el formulario.

  9. En el controlador del evento Button1_Click, escriba el siguiente código.

    MsgBox("You clicked the button")
    
  10. Presione F5 para ejecutar la aplicación. Cuando se hace clic en Button1, aparece un cuadro de mensaje.

Agregar otros controladores de eventos

Puede escribir código en controladores de eventos adicionales del mismo control. Por ejemplo, puede cambiar el texto que se muestra en el botón cuando un usuario mueve el puntero del mouse sobre el botón.

Para controlar el evento MouseEnter

  1. En el Editor de código, asegúrese de que Button1 esté seleccionado en la lista desplegable de la izquierda y, a continuación, haga clic en MouseEnter en la lista desplegable de la derecha.

    Aparece un nuevo controlador de eventos denominado Button1_MouseEnter en el Editor de código.

  2. En el controlador de eventos Button1_MouseEnter, escriba el siguiente código.

    Button1.Text = "The Mouse has entered"
    

    Presione F5 para ejecutar la aplicación. Pase el puntero del mouse sobre el botón. Observe que cuando el puntero pasa sobre Button1, el texto del botón cambia.

Quizá haya notado en el ejemplo anterior que aunque el texto de Button1 cambia cuando el puntero pasa sobre él, cuando éste se quita, el texto no vuelve a cambiar. Si desea que el texto cambie cuando el puntero ya no está sobre el botón, debe controlar el evento MouseLeave además del evento MouseEnter.

Para controlar el evento MouseLeave

  1. En el Editor de código, asegúrese de que Button1 esté seleccionado en la lista desplegable de la izquierda y, a continuación, haga clic en MouseLeave en la lista desplegable de la derecha.

    Aparece un nuevo controlador de eventos denominado Button1_MouseLeave en el Editor de código.

  2. En el controlador de eventos Button1_MouseLeave , escriba el siguiente código.

    Button1.Text = "The mouse has left"
    
  3. Presione F5 para ejecutar la aplicación.

    Ahora cuando el puntero pasa sobre el botón, el texto cambia a The mouse has entered, pero cuando el mouse ya no está sobre el botón, el texto cambia a The mouse has left.

Pasos siguientes

En esta lección, aprendió cómo crear un controlador de eventos utilizando el Editor de código. Ahora, puede pasar a la siguiente lección en la secuencia, Obtener opciones seleccionadas por el usuario: utilizar casillas y botones de opción o examinar los controladores de eventos con Información detallada: compartir un controlador de eventos. Si elige la segunda opción, debe guardar el proyecto EventHandler para utilizarlo en esa lección.

Vea también

Referencia

Información general sobre el control Label (formularios Windows Forms)

Información general sobre el control TextBox (formularios Windows Forms)

Otros recursos

Crear la apariencia visual de un programa: introducción a los formularios Windows Forms

Cambios en los eventos, métodos y propiedades de controles para usuarios de Visual Basic 6.0