Winforms: .NET Framework Class Library -> aplicaciones de escritorio.


Diseñador de formularios:

  • Genera el código del formulario diseñado y de los componentes incluídos en él.
  • Partial Class permite separar la implementación de una clase en varios archivos fuente -> separar la lógica de la aplicación (organización).

Objeto Form:

  • Opacity: transparencia (int 0 - 1).
  • Size: tamaño (Size).
  • Location: ubicación (Location).
  • Show(): mostrar.  Permite especificar su propietario.
  • ShowDialog(): permite mostrar un diálogo de su propiedad, incluyendo uno modal (no permite tomar el foco por otro formulario mientras se esté mostrando).

Manejo de eventos:

  • Por cada evento generado es posible implementar varios métodos manejadores.
  • Un método manejador de eventos puede recibir notificaciones de eventos generados en varios objetos.
  • Es posible cancelar el tratamiento por defecto del evento manejado con e.Handled = true.

Eventos del Form: ciclo de vida.

  • Load: se encuentra recién cargado, aún no se muestra al usuario.
  • Paint: es dibujado incluyendo a sus controles recursivamente.
  • Activated: recibe foco.
  • FormClosing: el proceso de cierre a sido iniciado.  En este punto es posible manipularlo y si es necesario, cancelar el cierre.
  • FormClosed: ha sido cerrado.
  • Disposed: ha sido destruído.

Eventos del ratón:

  • MouseClick: se hizo click con el ratón.
  • MouseEnter: el puntero del ratón entró a un componente.
  • MouseMove: el puntero del ratón ha sido movido dentro del componente.

Eventos de teclado:

  • KeyPress: tecla presionada.  Representa una pareja de eventos Up y Down sucesivos.  e.KeyChar especifica cual.
  • KeyDown: tecla hundida.
  • KeyUp: tecla liberada.
  • HelpRequested: se presionó F1.

Manipulación del foco:

  • CanFocus: (true/false) puede el control tomar el foco ?
  • Focused: (true/false) tiene el control el foco ?
  • Focus(int): asigna el foco al componente especificado.
  • TabIndex: especifica el órden de movimiento del foco.

Controles WinForms:

  • MaskedEdit: máscaras para la entrada de datos.
  • Textbox: cuadro de texto con facilidad para autocompletar.
  • Label: etiqueta de texto.
  • Datagrid: tabla de datos.  Permite enlazar información de una base de datos de manera dinámica.
  • TreeView: estructura tipo árbol.

Controles contenedores:

  • Pueden contener a otros controles a su vez.
  • Heredan de ContainerControl.
  • Tienen acceso directo a los controles de primer nivel unicamente (acceso recursivo).
  • Ejemplo: Form, Panel, GroupBox.

Menús de un Form.

  • MenuStrip: es un contenedor de otros objetos: ToolStripMenuItem, ToolStripComboBox, ToolStripSeparator, ToolStripTextBox.
  • ContextMenuStrip: menú contextual (botón derecho del ratón).  Se puede componer de igual manera que el MenuStrip.
  • MergeAction/MergeIndex del ToolStripItem controlan la forma como se mezclarán las opciones del menú de dos ventanas.

Snaplines: líneas imaginarias que el diseñador de formularios muestra para ayudar con el diseño de los formularios.


Document Outline: permite visualizar la jerarquía de componentes del formulario.


Layout Panels: controla la disposición de elementos sobre el formulario.

  • TableLayoutPanel: ubica elementos al estilo tabla.  Redimensionable.
  • FlowLayoutPanel: los controles fluyen a medida que se van agregando.

Anchor: propiedad que permite ‘anclar’ a un componente a uno o varios bordes del formulario para modificar su presentación de acuerdo con el redimensionamiento de este último.

Dock: permite fijar un componente a uno de los bordes de la ventana para modificar su ubicación de acuerdo con el redimensionamiento de este último.


Controles ExtenderProviders: agregan nuevas propiedades a los componentes del formulario.

  • ErrorProvider: asocia un error a un componente -> ícono que parpadea.
  • HelpProvider: asocia una cadena de texto de ayuda a un componente -> presión de F1.
  • ToolTip: asocia un tip a un componente que se muestra cuando tenga el puntero del ratón encima.

Propiedades dinámicas:

  • Variables de configuración asociadas a la aplicación.
  • Incluyen nombre, tipo de datos, alcance (usuario/aplicación) y valor.
  • Se pueden relacionar (binding) con un componente.

Diálogos comúnes:

  • Tipos:
    • ColorDialog
    • PrintDialog
    • SaveDialog
    • OpenDialog
  • Permiten interactuar con el usuario para realizar acciones comúnes.
  • Basados en el sistema operativo.
  • Facilidad para el desarrollador: evita que deba desarrollarlos él mismo.
  • Facilidad para el usuario: acostumbrado a las interfaces del OS.

Enlace a datos:

  • El atributo DataSource define el orígen de una fuente de datos para un componente.
  • El objeto BindingSource permite el enlace con fuentes de tres tipos.
    • DataBase.
    • WebService.
    • Object: clase de negocio.
  • Trabajan muy bien en conjunto con DataBindingNavigator y DataGridView.
  • También es posible enlazar datos con ADO.NET.

ClickOnce: incorporado por .NET 2.0.

  • Distribución de la aplicación.
  • Instalación.
  • Actualización.
  • Versionado.
  • Rollback de la instalación.
VN:F [1.9.3_1094]
Rating: +1 (from 1 vote)
Resumen - Aplicaciones Windows con WinForms, 100% based on 1 rating

Artículos relacionados:

  1. Controlar presentaciones con el wiimote en Windows utilizando GlovePIE
  2. Sonido a través de los parlantes en un Dell Vostro 1400 con Windows 7