Windows Forms le permite crear aplicaciones de escritorio visualmente, arrastrando elementos de la interfaz de usuario a un lienzo. Estos elementos de la interfaz de usuario incluyen widgets como botones, paneles o casillas de verificación.

Cada elemento de la interfaz de usuario recibe ciertos eventos. Por ejemplo, puede tener un evento de clic para los botones, un evento modificado para las casillas de verificación o un evento de arrastrar y soltar para los paneles.

Los eventos usan controladores de eventos o funciones, que solo se ejecutan cuando ocurre ese evento en particular.

Tipos de eventos utilizados para diferentes elementos de la interfaz de usuario

Cada elemento de la interfaz de usuario tiene una lista de eventos. Hay muchos cursos donde puedes aprender sobre importantes teorías y prácticas de UX o UI para ayudarte a decidir qué elementos de la interfaz de usuario usar. Estos son algunos ejemplos de eventos utilizados por los elementos de la interfaz de usuario.

Eventos de tecla abajo, tecla arriba o pulsación de tecla

instagram viewer

Los elementos de la interfaz de usuario que permiten al usuario ingresar texto, como un cuadro de texto, pueden usar estos eventos. Estos eventos se activan cada vez que el usuario presiona una tecla en su teclado.

Estos pueden ser útiles en escenarios en los que tiene la función de búsqueda y es posible que deba verificar constantemente cuál es el valor del cuadro de texto.

privadovacíotextBox1_KeyUp(remitente del objeto, KeyEventArgs e)
{
TextBox textbox = (TextBox) remitente;
cadena currentTextBoxValue = cuadro de texto. Texto;
}

Cargar evento

El evento de carga ocurre cuando el formulario o un elemento de la interfaz de usuario se representa en la pantalla. Puede usar este evento cuando desee que ocurra una funcionalidad específica en la etapa de inicialización del formulario o control.

Un escenario en el que esto puede ser útil es si desea agregar controles al formulario mediante programación mientras aún se está cargando.

privadovacíoFormulario1_Cargar(remitente del objeto, EventArgs e)
{
Información sobre herramientas información sobre herramientas1 = nuevo información sobre herramientas();
información sobre herramientas1.AutoPopDelay = 5000;
información sobre herramientas1.InitialDelay = 1000;
información sobre herramientas1.ReshowDelay = 500;
toolTip1.ShowAlways = verdadero;
toolTip1.SetToolTip (this.button1, "Mi boton1");
toolTip1.Ventana emergente += este.Información sobre herramientas1_Popup;
}

El evento emergente de información sobre herramientas ocurre cuando se desplaza sobre un elemento de la interfaz de usuario en la aplicación y aparece una información sobre herramientas. Los argumentos pasados ​​al controlador de eventos le permiten acceder a datos sobre la información sobre herramientas, como su texto o tamaño.

privadovacíoToolTip1_Popup(remitente del objeto, PopupEventArgs e)
{
ToolTip tooltip = (ToolTip) remitente;
cadena tooltipText = información sobre herramientas. Obtener información sobre herramientas (botón 1);
variable tamaño de información sobre herramientas = e. Tamaño de información sobre herramientas;
}

Evento de arrastrar y soltar

Muchos elementos de la interfaz de usuario pueden usar el evento de arrastrar y soltar, incluido el panel, el botón, el cuadro de imagen, el cuadro de grupo y más. Este evento se activa cuando el usuario arrastra un archivo al elemento de la interfaz de usuario.

privadovacíopanel1_Arrastrar y Soltar(remitente del objeto, DragEventArgs e)
{
cadena[] archivos = (cadena[])e. Datos. Obtener datos (formatos de datos. soltar archivos, falso);
}

Eventos Mouse Over y Mouse Leave

El evento mouse over se activa cuando el mouse se desplaza sobre un elemento de la interfaz de usuario. Una vez que el mouse sale y deja de pasar el mouse sobre el elemento, se activa el evento de abandono del mouse.

privadovacíobutton1_MouseSalir(remitente del objeto, EventArgs e)
{
Botón botón = (Botón) remitente;
variable textoboton = boton. Texto;
}

Evento modificado marcado

Los elementos de la interfaz de usuario que permiten al usuario seleccionar una opción pueden usar el evento modificado marcado. Esto incluye botones de radio y casillas de verificación. La función se activa cuando marca o desmarca la casilla de verificación.

privadovacíocheckBox1_CheckedChanged(remitente del objeto, EventArgs e)
{
CheckBox checkbox = (CheckBox) remitente;
CheckState estado = casilla de verificación. Comprobar estado;
bool isChecked = casilla de verificación. Comprobado;
}

Eventos de cambio de valor, cambio de valor seleccionado o cambio de fecha

El evento de cambio de valor está disponible en los elementos de la interfaz de usuario que le permiten seleccionar una opción para cambiar un valor. Esto incluye cuadros combinados, selectores de fecha y hora o el calendario. La función se activa cuando el usuario selecciona un nuevo valor.

privadovacíomonthCalendar1_DateChanged(remitente del objeto, DateRangeEventArgs e)
{
MonthCalendar calendar = (MonthCalendar) remitente;
variable hoy = calendario. Fecha de hoy;
variable FechasInicioSeleccionadas = e. Comienzo;
variable FinalizaciónFechasSeleccionadas = e. Final;
}

Haga clic en Evento de botón

La función del controlador de eventos de clic se activa cuando hace clic en un botón.

privadovacíobotón1_Click(remitente del objeto, EventArgs e)
{
Botón botón = (Botón) remitente;
cadena textValue = botón. Texto;
}

La estructura de un controlador de eventos

Los controladores de eventos tienen dos parámetros principales: el remitente y un objeto de evento.

El remitente es una referencia al elemento u objeto de la interfaz de usuario que ha activado el evento, como un botón, una casilla de verificación o un panel. Por ejemplo, en un evento de cambio de casilla de verificación, el remitente sería la casilla de verificación en la que el usuario hizo clic.

El parámetro de evento contiene un objeto que almacena datos sobre el evento que ocurrió. Esto podría incluir las coordenadas X e Y de un clic de botón, o la ubicación del mouse en el momento en que se activa el evento.

privadovacíopanel1_Arrastrar y Soltar(remitente del objeto, DragEventArgs e)
{
// Acceder a las propiedades del elemento de la interfaz de usuario que activó el evento
Panel panel = (Panel) remitente;
panel. Habilitado = falso;
// Acceder a los datos del evento
variable eventData = e. Datos;
}

Cómo crear y utilizar controladores de eventos

Primero, crea una nueva Aplicación Winforms Forms en Visual Studio. Si es nuevo en Windows Forms, hay muchos clonar aplicaciones que puede crear mientras aprende Windows Forms.

Controladores de eventos en el lienzo

Puede generar controladores de eventos desde la ventana de propiedades en el lado derecho del lienzo. Una vez que haya creado una nueva aplicación de Windows Forms, cree un controlador de eventos para el elemento de la interfaz de usuario de la casilla de verificación. Esto se activará cuando el usuario marque o desmarque la casilla de verificación.

  1. Abra el menú de la caja de herramientas a la izquierda de Visual Studio. Arrastre y suelte un elemento de IU de casilla de verificación en el lienzo.
  2. Resalte la casilla de verificación en el lienzo.
  3. En la ventana de propiedades en el panel de la derecha, haga clic en el icono del rayo amarillo para ver la lista de eventos. Desplácese hacia abajo hasta el ComprobadoCambiado evento.
  4. Haga clic en el espacio vacío junto a la ComprobadoCambiado evento. Esto generará automáticamente una nueva función para manejar el evento. La función se creará en la parte de código subyacente de la aplicación, en su archivo .cs.
    privadovacíocheckBox1_CheckedChanged(remitente del objeto, EventArgs e)
    {
    // Tu código aquí
    }

Controladores de eventos usando el código subyacente

Cree una nueva función en el código subyacente y vincúlela al elemento de la interfaz de usuario en el lienzo.

  1. En el lienzo, haga clic y arrastre un elemento de IU de botón. Por defecto, el nombre del nuevo botón será "botón1".
  2. Abierto .cs. Si ha dejado el nombre de aplicación predeterminado de Windows Form de "Form1", este sería Formulario1.cs.
  3. Dentro de la clase Form1, crea una nueva función. Asegúrese de que sigue la estructura de un controlador de eventos y tiene dos parámetros para el remitente y el objeto del evento.
    privadovacíobutton1_MouseHoverEvent(remitente del objeto, EventArgs e)
    {
    // Tu código aquí
    }
  4. Vincule el controlador de eventos al evento de desplazamiento del mouse de button1. Puedes hacer esto en el constructor.
    público Formulario 1()
    {
    InicializarComponente();
    este.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Alternativamente, también puede vincular la función al evento usando la ventana de propiedades en el lienzo. Abra la ventana de propiedades e ingrese el nombre de su controlador de eventos en el campo MouseHover. Esto sería button1_MouseHoverEvent.

Cómo utilizar el mismo controlador de eventos en varios eventos

Puede vincular la misma función a varios eventos. En este caso, si hubiera una sola función llamada RatónEvento, puede agregar ese controlador de eventos tanto al evento de desplazamiento del mouse como al de clic del mouse. Esto luego manejará ambos eventos usando la misma función.

este.button1.MouseHover += button1_MouseEvent;
este.button1.MouseClick += button1_MouseEvent;

Uso de eventos en una aplicación de Windows Forms

Una aplicación de Windows Forms le permite arrastrar y soltar varios elementos de la interfaz de usuario, como botones, paneles o cuadros de texto, en un lienzo. Puede agregar controladores de eventos a estos elementos de la interfaz de usuario, en función de los diferentes eventos que pueden ocurrir dentro de la aplicación.

Si está creando una aplicación de Windows, es posible que desee agregar imágenes o gráficos como parte de su interfaz de usuario. Puede usar varias clases de C#, como la clase Graphic, Pen o Color, que le permitirán dibujar diferentes tipos de formas en el lienzo.