Imagina que estás creando una aplicación en C# con formularios windows form en visual studio y quieres personalizar la apariencia y el comportamiento de las ventanas. ¿Cómo se hace? La clave está en las saber manejar las propiedades y los eventos de los Windows Forms y de sus controles. Pero, ¿cuáles son exactamente estas propiedades y cómo se utilizan?
En Visual Studio, un Windows Form es una ventana que actúa como la interfaz de usuario de una aplicación de escritorio.
Propiedades de los windows form en visual studio?
Las propiedades de un windows form son configuraciones que permiten modificar diferentes aspectos de la ventana, como su tamaño, color de fondo, título, visibilidad y muchas otras características.
¿Cuáles son las propiedades de los windows forms?
En esta tabla puedes ver las principales propiedades más utilizadas de un windows form y para que sirve cada una de ellas.
Propiedad | Descripción |
---|---|
Name | Nombre del formulario. |
AcceptButton | Botón que se activa al presionar Enter. |
BackColor | Color de fondo del formulario. |
BackgroundImage | Imagen de fondo del formulario. |
BackgroundImageLayout | Modo de ajuste de la imagen de fondo. |
CancelButton | Botón que se activa al presionar Esc. |
Cursor | Tipo de cursor cuando está sobre el formulario. |
Font | Fuente utilizada en el formulario. |
ForeColor | Color del texto dentro del formulario. |
FormBorderStyle | Define el estilo del borde de la ventana. |
Icon | Ícono del formulario. |
Locked | Bloquea el formulario para evitar cambios. |
MaximizeBox | Permite o bloquea la maximización. |
MinimizeBox | Permite o bloquea la minimización. |
Size | Define el tamaño del formulario. |
StartPosition | Posición inicial del formulario al ejecutarse. |
Text | Texto que aparece en la barra de título. |
WindowState | Estado de la ventana (normal, minimizada o maximizada). |
Otras propiedades menos utilizadas de los formularios en visual studio.
Propiedad | Descripción |
---|---|
AccessibleDescription | Descripción accesible para personas con discapacidad. |
AccessibleName | Nombre accesible del formulario. |
AccessibleRole | Rol accesible del formulario. |
AllowDrop | Define si un formulario puede aceptar datos arrastrados y soltados. (drag and drop). |
AutoScaleMode | Ajusta el escalado automático del formulario. |
AutoScroll | Habilita el desplazamiento automático. |
AutoSize | Ajusta automáticamente el tamaño del formulario. |
AutoSizeMode | Define cómo cambia el tamaño del formulario. |
AutoValidate | Controla la validación automática de los controles. |
CausesValidation | Indica si el formulario activa la validación de controles. |
ContextMenuStrip | Menú contextual del formulario. |
DoubleBuffered | Reduce el parpadeo al dibujar el formulario. |
Enabled | Habilita o deshabilita el formulario. |
HelpButton | Muestra un botón de ayuda en la barra de título. |
ImeMode | Modo de entrada de métodos de edición. |
IsMdiContainer | Indica si el formulario es un contenedor MDI. |
KeyPreview | Permite capturar eventos de teclado antes que los controles. |
Language | Define el idioma del formulario. |
Localizable | Habilita la localización del formulario. |
Location | Posición del formulario en la pantalla. |
MainMenuStrip | Define el menú principal del formulario. |
MinimumSize | Establece el tamaño mínimo del formulario. |
Opacity | Define la opacidad del formulario. |
Padding | Define el relleno interno del formulario. |
RightToLeft | Define si el texto se muestra de derecha a izquierda. |
ShowIcon | Muestra o esconde el icono en la barra de título. |
ShowInTaskbar | Define si el formulario aparece en la barra de tareas. |
TopMost | Mantiene el formulario siempre en primer plano. |
Como acceder a las propiedades de los windows forms.
Estas propiedades, se pueden cambiar de dos formas diferentes:
Desde la ventana de propiedades.
- Una vez abierto el proyecto en Visual Studio y carga tu proyecto y haz clic sobre el formulario en el diseñador visual.
- En la parte derecha de la pantalla, busca la ventana de propiedades.
- Aquí podrás ver todas las propiedades del formulario y modificar su valor según lo que necesites.

Desde el editor de código.
También se pueden cambiar las propiedades de un formulario a través del archivo con extensión «.cs» creando un método y luego llamando a este método desde el constructor de la clase del formulario.
Tienes que tener en cuenta que si la propiedades se cambian desde el editor de código, los cambios se verán reflejados solo cuando el windows form se esté ejecutando.

Los eventos de los windows form en visual studio.
Un evento en un Windows form es una acción o suceso que ocurre en la aplicación, como un clic, la pulsación de una tecla o el movimiento del ratón. Los eventos permiten que el formulario responda a la interacción del usuario o a cambios en la aplicación. Gracias a los eventos de los windows form, podemos interactuar con una aplicación.
Imagínate que estas creando una aplicación y has agregado un formulario a tu proyecto como en la siguiente imagen:

Este formulario, incluso antes de agregar controles, tiene una serie de eventos. De esta manera el usuario puede interactuar con él.
Principales eventos de un windows forms.
Evento | Descripción |
---|---|
Load | Ocurre cuando el formulario se carga en la memoria y está a punto de mostrarse. |
Shown | Se activa después de que el formulario se ha mostrado por primera vez. |
Activated | Se dispara cuando el formulario obtiene el foco y se convierte en la ventana activa. |
Deactivate | Ocurre cuando el formulario pierde el foco porque otro formulario o aplicación ha sido activado. |
Resize | Se ejecuta cuando el tamaño del formulario cambia. |
FormClosing | Se dispara antes de que el formulario se cierre, permitiendo cancelar el cierre si es necesario. |
FormClosed | Ocurre después de que el formulario ha sido cerrado. |
KeyDown | Se activa cuando el usuario presiona una tecla mientras el formulario tiene el foco. |
KeyUp | Ocurre cuando el usuario suelta una tecla. |
MouseMove | Se dispara cuando el usuario mueve el mouse dentro del formulario. |
MouseDown | Ocurre cuando el usuario presiona un botón del mouse sobre el formulario. |
MouseUp | Se activa cuando el usuario suelta un botón del mouse sobre el formulario. |
¿Cómo acceder a los eventos de un Windows form?
Visual Studio hace que acceder a los eventos sea muy fácil. Puedes hacerlo de dos formas principales:
Desde la ventana de Propiedades
- Abre tu formulario en el diseñador de Visual Studio.
- Haz clic en el icono de «Eventos» (un rayo).
- Doble clic en un evento que quieras y Visual Studio generará automáticamente el código asociado.
Aunque no se haya agregado ningún control, podemos ver algunos de los eventos que contiene un windows form. En nuestro caso buscaremos el evento load.

Si hacemos doble clic en este evento, visual studio generará automáticamente el código para programar lo que queremos que ocurra cuando el formulario se carge en la memoria y este a punto de mostrarse.

Debido a que el evento load, es el evento por defecto del formulario, también podemos hacer doble clic en el formulario para acceder a él.
Mediante código C#
- Asociamos el evento Load al método Form1_Load en el constructor del formulario.
- Definimos el método Form1_Load, que se activará cuando el formulario se cargue.
- Mostramos un MessageBox informando que el formulario se ha cargado.

Los controles de los windows forms.
Los controles de los windows form son los elementos visuales que mejoran la experiencia con la aplicación. Para agregar un control a un formulario, solo se debe seleccionar y arrastrar al formulario. Además, los controles de los formularios, también tienen sus propios eventos para que el usuario pueda interactuar con ellos. Esto permite dar mayor funcionalidad a la aplicación.
Controles más utilizados de los windows forms.
En la siguiente tabla veremos cuales son los eventos que más se suelen utilizar dentro de un formulario en visual studio.
Nombre del Control | Descripción | Eventos Principales |
---|---|---|
Label | Se usa para mostrar texto estático en el formulario. |
Click: Se activa cuando el usuario hace clic en la etiqueta. MouseEnter: Se dispara cuando el puntero entra en el área del Label. MouseLeave: Se activa cuando el puntero sale del área del Label. |
TextBox | Permite la entrada de texto por parte del usuario. |
TextChanged: Se activa cuando el texto cambia. KeyPress: Se dispara cuando el usuario presiona una tecla. Enter: Se activa cuando el TextBox recibe el foco. Leave: Se dispara cuando el control pierde el foco. |
Button | Botón que ejecuta una acción cuando el usuario lo presiona. |
Click: Se activa cuando el usuario hace clic en el botón. MouseEnter: Se dispara cuando el puntero entra en el botón. MouseLeave: Se activa cuando el puntero sale del botón. |
ListBox | Muestra una lista de elementos que el usuario puede seleccionar. |
SelectedIndexChanged: Se activa cuando se selecciona un elemento. DoubleClick: Se dispara cuando el usuario hace doble clic en un elemento. KeyDown: Ocurre cuando el usuario presiona una tecla mientras está en la lista. |
ComboBox | Permite seleccionar un elemento de una lista desplegable. |
SelectedIndexChanged: Se activa cuando cambia la selección. DropDown: Se dispara cuando se despliega la lista. TextChanged: Se activa cuando el texto dentro del ComboBox cambia. |
RadioButton | Permite seleccionar solo una opción dentro de un grupo. |
CheckedChanged: Se activa cuando el estado del botón cambia. Click: Se dispara cuando el usuario hace clic en el RadioButton. |
CheckBox | Permite activar o desactivar una opción. |
CheckedChanged: Se activa cuando cambia el estado del CheckBox. Click: Se dispara cuando el usuario hace clic en el CheckBox. |
NumericUpDown | Permite seleccionar un valor numérico mediante flechas o ingreso manual. |
ValueChanged: Se activa cuando cambia el valor. KeyDown: Ocurre cuando el usuario presiona una tecla dentro del control. |
TreeView | Muestra una estructura jerárquica de nodos. |
AfterSelect: Se activa después de seleccionar un nodo. NodeMouseClick: Ocurre cuando se hace clic en un nodo. BeforeExpand: Se dispara antes de expandir un nodo. |
DataGridView | Muestra datos en una tabla con filas y columnas. |
CellClick: Se activa cuando el usuario hace clic en una celda. CellValueChanged: Se dispara cuando cambia el valor de una celda. RowEnter: Ocurre cuando el usuario selecciona una fila. |
DateTimePicker | Permite seleccionar una fecha o una hora. |
ValueChanged: Se activa cuando cambia la fecha o la hora seleccionada. DropDown: Se dispara cuando el usuario despliega el calendario. |
MonthCalendar | Permite visualizar y seleccionar fechas en un calendario. |
DateChanged: Se activa cuando cambia la fecha seleccionada. DateSelected: Se dispara cuando el usuario selecciona un rango de fechas. |
Timer | Ejecuta una acción en intervalos de tiempo definidos. |
Tick: Se activa en cada intervalo de tiempo configurado. Start: Inicia la cuenta regresiva del temporizador. Stop: Detiene la ejecución del Timer. |
Como acceder a los eventos de los controles de un windows form en visual studio.
Al igual que en los eventos de los formularios en visual studio, para acceder a los eventos de los controles de un windows form, podemos acceder bien a través del diseñador o bien a través de código.
Imaginemos que en nuestro formulario tenemos un botón (button).

Para asociar el evento a través de código.

Ahora, para conectar este método con el evento de un botón, se debe escribir lo siguiente en el constructor del formulario:

Para acceder a los eventos a través del diseñador.
Podemos hacerlo igual que en el caso de los windows form, pero seleccionando antes el control con el que queremos trabajar.
- Abre tu formulario en el diseñador de Visual Studio.
- Selecciona el control con el que quieres trabajar.
- Haz clic en el icono de «Eventos» (un rayo).
- Doble clic en un evento que quieras para que Visual Studio genere el código asociado.