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.
Artículos relacionados:
























