Dce2 introduccion win_forms

53
Estrella 2 Estrella 2 Introducción al Introducción al desarrollo de desarrollo de aplicaciones de aplicaciones de escritorio con .NET escritorio con .NET Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco Estrellas Estrellas

Transcript of Dce2 introduccion win_forms

Page 1: Dce2 introduccion win_forms

Estrella 2Estrella 2Introducción al desarrollo Introducción al desarrollo

de aplicaciones de de aplicaciones de escritorio con .NETescritorio con .NET

Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco

EstrellasEstrellas

Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco

EstrellasEstrellas

Page 2: Dce2 introduccion win_forms

ObjetivoObjetivo

Conocer los elementos involucrados Conocer los elementos involucrados en el desarrollo de una aplicación de en el desarrollo de una aplicación de escritorio Windows con Visual Studio escritorio Windows con Visual Studio 2005 y la plataforma Microsoft .NET, 2005 y la plataforma Microsoft .NET, presentando las novedades presentando las novedades introducidas al respecto en la nueva introducidas al respecto en la nueva versión 2.0 versión 2.0

Page 3: Dce2 introduccion win_forms

PrerrequisitosPrerrequisitosHaber cursado y aprobado el módulo Haber cursado y aprobado el módulo correspondiente a la Estrella 1 del correspondiente a la Estrella 1 del programa Desarrollador 5 Estrellasprograma Desarrollador 5 Estrellas

Para realizar los ejercicios y ver los Para realizar los ejercicios y ver los ejemplos de código adjunto necesita:ejemplos de código adjunto necesita: Herramienta de DesarrolloHerramienta de Desarrollo

MS Visual Studio 2005 óMS Visual Studio 2005 ó MS Visual C# 2005 Express Edition óMS Visual C# 2005 Express Edition ó MS Visual Basic 2005 Express EditionMS Visual Basic 2005 Express Edition

Base de DatosBase de Datos MS SQL 2005 Express EditionMS SQL 2005 Express Edition

Page 4: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioHerencia visualHerencia visual

Page 5: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguraciónDiálogos comunesDiálogos comunesEnlace a datosEnlace a datosDistribución de la aplicaciónDistribución de la aplicaciónReferenciasReferencias

Page 6: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows Forms ¿ Qué es Windows Forms ?¿ Qué es Windows Forms ? ¿ Qué es un formulario ?¿ Qué es un formulario ? Cómo crear un proyecto de aplicación Cómo crear un proyecto de aplicación

para Windowspara WindowsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioHerencia visualHerencia visual

Page 7: Dce2 introduccion win_forms

¿ Qué es Windows Forms ?¿ Qué es Windows Forms ?

Windows Forms es un subconjunto Windows Forms es un subconjunto de la .NET Framework Class Library de la .NET Framework Class Library que permite el desarrollo de que permite el desarrollo de aplicaciones de escritorio ricas bajo aplicaciones de escritorio ricas bajo Microsoft Windows.Microsoft Windows.

Incluye clases base, interfaces, Incluye clases base, interfaces, enumeraciones y controles gráficos enumeraciones y controles gráficos diversos.diversos.

Page 8: Dce2 introduccion win_forms

¿ Qué es un formulario ?¿ Qué es un formulario ?

Un formulario Windows Forms actúa Un formulario Windows Forms actúa como interfaz del usuario local de como interfaz del usuario local de Windows.Windows.Los formularios pueden ser ventanas Los formularios pueden ser ventanas estándar, interfaces de múltiples estándar, interfaces de múltiples documentos (MDI), cuadros de documentos (MDI), cuadros de diálogo, etc.diálogo, etc.Los formularios son clases que Los formularios son clases que exponen propiedades, métodos que exponen propiedades, métodos que definen su comportamiento y definen su comportamiento y eventos que definen la interacción eventos que definen la interacción con el usuario.con el usuario.

Page 9: Dce2 introduccion win_forms

Cómo crear un proyecto Cómo crear un proyecto de aplicación para de aplicación para

WindowsWindowsUtilizando los entornos de desarrollo: Utilizando los entornos de desarrollo: Visual C# 2005 Express Edition oVisual C# 2005 Express Edition o Visual Basic 2005 Express Edition,Visual Basic 2005 Express Edition,

se deben seguir estos pasos:se deben seguir estos pasos:1.1. En el menú File, seleccionar New ProjectEn el menú File, seleccionar New Project2.2. En la ventana que aparece seleccionar En la ventana que aparece seleccionar

Windows ApplicationWindows Application

No es necesario crear un directorio para No es necesario crear un directorio para los archivos del proyecto, éstos son los archivos del proyecto, éstos son creados en un directorio temporal hasta creados en un directorio temporal hasta que se decida grabarlos.que se decida grabarlos.

Page 10: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows Forms

El diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioHerencia visualHerencia visual

Page 11: Dce2 introduccion win_forms

El diseñador de El diseñador de formulariosformulariosAl momento de diseñar un formulario, el Al momento de diseñar un formulario, el

diseñador de Visual Studio Express escribe de diseñador de Visual Studio Express escribe de forma automática el código que describe a forma automática el código que describe a cada uno de los controles y al propio cada uno de los controles y al propio formulario.formulario.El concepto de Partial class que El concepto de Partial class que incorpora .NET 2.0 permite separar el código incorpora .NET 2.0 permite separar el código de una clase en varios archivos fuentes de una clase en varios archivos fuentes diferentes.diferentes.El diseñador de formularios utiliza esta El diseñador de formularios utiliza esta técnica para escribir en un archivo aparte técnica para escribir en un archivo aparte todo el código que él mismo genera.todo el código que él mismo genera.Esto permite organizar más claramente el Esto permite organizar más claramente el código, manteniendo separada la lógica de la código, manteniendo separada la lógica de la aplicación en un archivo diferente.aplicación en un archivo diferente.

Page 12: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formularios

El objeto FormEl objeto Form GeneralidadesGeneralidades Eventos, MétodosEventos, Métodos Ciclo de vidaCiclo de vida Trabajando con el MouseTrabajando con el Mouse Trabajando con el TecladoTrabajando con el Teclado Foco de controles y orden de tabulaciónFoco de controles y orden de tabulación Message BoxMessage BoxControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioHerencia visualHerencia visual

Page 13: Dce2 introduccion win_forms

Generalidades Generalidades (1/2)(1/2)

El objeto Form es el principal componente El objeto Form es el principal componente de una aplicación Windows.de una aplicación Windows.Algunas de sus propiedades admiten Algunas de sus propiedades admiten valores de alguno de los tipos nativos valores de alguno de los tipos nativos de .NETde .NET

Ejemplo Código C#Ejemplo Código C# miForm.ShowInTaskBar = false; miForm.Opacity = 0.83;

miForm.ShowInTaskBar = False miForm.Opacity = 0.83

Ejemplo Código Visual BasicEjemplo Código Visual Basic

Page 14: Dce2 introduccion win_forms

Generalidades Generalidades (2/2)(2/2)

Otras propiedades requieren la asignación de Otras propiedades requieren la asignación de objetosobjetos

Ejemplo en C#Ejemplo en C#

miForm.Size = new Size(100, 100); miForm.Location = new Location(0, 0);

Ejemplo en Visual BasicEjemplo en Visual Basic miForm.Size = New Size(100, 100) miForm.Location = New Location(0, 0)

Page 15: Dce2 introduccion win_forms

MétodosMétodosShow()Show() Visualiza el formulario. Puede especificarse su Visualiza el formulario. Puede especificarse su

formulario formulario OwnerOwner.. Si un formulario A es Si un formulario A es ownerowner (dueño) de (dueño) de

otro B, el formulario B siempre se otro B, el formulario B siempre se visualizará sobre el A, sin importar si otro visualizará sobre el A, sin importar si otro formulario está activoformulario está activo..

ShowDialog()ShowDialog() Visualiza el formulario como cuadro de diálogo Visualiza el formulario como cuadro de diálogo

ModalModal.. Un formulario visualizado de forma Un formulario visualizado de forma

modalmodal no permite que otro formulario no permite que otro formulario perteneciente a la misma aplicación perteneciente a la misma aplicación tome foco. Esta opción es utilizada para tome foco. Esta opción es utilizada para mostrar cuadros de diálogo y focalizar la mostrar cuadros de diálogo y focalizar la atención del usuario.atención del usuario.

Page 16: Dce2 introduccion win_forms

Eventos Eventos (1/2)(1/2)

Manejadores de eventosManejadores de eventos Por cada evento soportado por el Form Por cada evento soportado por el Form

(o por cualquier otro objeto) es posible (o por cualquier otro objeto) es posible definir varios métodos manejadores.definir varios métodos manejadores.

A su vez, un método manejador puede A su vez, un método manejador puede controlar eventos disparados por controlar eventos disparados por diferentes objetos.diferentes objetos.

Page 17: Dce2 introduccion win_forms

Eventos Eventos (2/2)(2/2)

Ejemplos:Ejemplos: Código C#Código C#

// Varios manejadores para un eventothis.Click += new EventHandler(MetodoManejador1);this.Click += new EventHandler(MetodoManejador2);// Un mismo manejador para diferentes eventosthis.Load += new EventHandler(ManejadorCentralizado);this.Activated +=new EventHandler(ManejadorCentralizado);

‘ Varios manejadores para un eventoAddHandler Me.Click, AddressOf MetodoManejador1AddHandler Me.Click, AddressOf MetodoManejador2‘ Un mismo manejador para diferentes eventosAddHandler Me.Load, AddressOf ManejadorCentralizadoAddHandler Me.Activated, AddressOf ManejadorCentralizado

Código Visual BasicCódigo Visual Basic

Page 18: Dce2 introduccion win_forms

Ciclo de vida del Ciclo de vida del formularioformularioMuchos de los eventos a los que Muchos de los eventos a los que

responde el responde el objeto Formobjeto Form pertenecen pertenecen al al ciclo de vidaciclo de vida del formulario del formularioEntre estos eventos se encuentran Entre estos eventos se encuentran los siguientes, en orden de los siguientes, en orden de ocurrencia:ocurrencia: Load: El formulario está en memoria, Load: El formulario está en memoria,

pero invisible.pero invisible. Paint: Se “pinta” el formulario y sus Paint: Se “pinta” el formulario y sus

controles.controles. Activated: El formulario recibe foco.Activated: El formulario recibe foco. FormClosing: Permite cancelar el cierre.FormClosing: Permite cancelar el cierre. FormClosed: El formulario es invisible.FormClosed: El formulario es invisible. Disposed: El objeto está siendo Disposed: El objeto está siendo

destruido.destruido.

Page 19: Dce2 introduccion win_forms

Trabajando con el MouseTrabajando con el MouseEl mouse puede ser controlado escribiendo El mouse puede ser controlado escribiendo código para alguno de estos eventos:código para alguno de estos eventos: MouseClickMouseClick MouseEnterMouseEnter MouseMoveMouseMoveA través de los argumentos que reciben los A través de los argumentos que reciben los manejadores de estos eventos se puede manejadores de estos eventos se puede obtener:obtener: La posición del punteroLa posición del puntero Qué botón fue presionadoQué botón fue presionado Cantidad de “pasos” que fue girada la Cantidad de “pasos” que fue girada la

ruedarueda

Page 20: Dce2 introduccion win_forms

Trabajando con el TecladoTrabajando con el Teclado

El manejador del evento KeyPress El manejador del evento KeyPress informa a través del argumento informa a través del argumento e.KeyChar el código de la tecla e.KeyChar el código de la tecla presionada.presionada.Es posible cancelar el comportamiento Es posible cancelar el comportamiento por defecto asignando “true” al por defecto asignando “true” al argumento e.Handled.argumento e.Handled.Los argumentos que reciben los Los argumentos que reciben los manejadores de los eventos KeyDown y manejadores de los eventos KeyDown y KeyUp informan del estado de las teclas KeyUp informan del estado de las teclas Alt, Ctrl y Shift.Alt, Ctrl y Shift.El evento HelpRequested es disparado El evento HelpRequested es disparado cuando se presiona la tecla F1.cuando se presiona la tecla F1.

Page 21: Dce2 introduccion win_forms

El objeto Form expone diferentes El objeto Form expone diferentes propiedades, métodos y eventos que propiedades, métodos y eventos que permiten controlar la navegabilidad del permiten controlar la navegabilidad del formulario:formulario: PropiedadPropiedad CanFocus CanFocus: Indica si el control : Indica si el control

puede tomar foco.puede tomar foco. PropiedadPropiedad Focused Focused: Indica si el control : Indica si el control

tiene el foco actualmente.tiene el foco actualmente. Método Método Focus()Focus(): “Mueve” el foco al objeto : “Mueve” el foco al objeto

deseado.deseado.Orden de tabulación (Propiedad Orden de tabulación (Propiedad TabIndexTabIndex)) En forma visual, desde el diseñador de En forma visual, desde el diseñador de

formularios, es posible configurar el formularios, es posible configurar el orden en el que el foco se irá moviendo orden en el que el foco se irá moviendo por los controles.por los controles.

Foco de controles y Foco de controles y orden de tabulaciónorden de tabulación

Page 22: Dce2 introduccion win_forms

MessageBoxMessageBoxPara mostrar información o pedir Para mostrar información o pedir intervención del usuario, es posible utilizar intervención del usuario, es posible utilizar la clase MessageBox.la clase MessageBox.Esta clase contiene métodos estáticos que Esta clase contiene métodos estáticos que permiten mostrar un cuadro de mensaje permiten mostrar un cuadro de mensaje para interactuar con el usuario de la para interactuar con el usuario de la aplicación.aplicación.Los parámetros se especifican a través de Los parámetros se especifican a través de enumerados que facilitan la legibilidad del enumerados que facilitan la legibilidad del código, por ejemplo:código, por ejemplo: MessageBoxButtons.AbortRetryIgnoreMessageBoxButtons.AbortRetryIgnore MessageBoxIcon.ErrorMessageBoxIcon.Error MessageBoxDefaultButton.Button1MessageBoxDefaultButton.Button1

Page 23: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto Form

ControlesControles Controles de WindowsControles de Windows Controles contenedoresControles contenedores MenúMenúDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioControles Extender ProvidersControles Extender ProvidersHerencia visualHerencia visual

Page 24: Dce2 introduccion win_forms

Controles de Windows Controles de Windows (1/3)(1/3)

Gran parte del éxito de una aplicación Gran parte del éxito de una aplicación Windows consiste en elegir y manejar Windows consiste en elegir y manejar adecuadamente los controles que adecuadamente los controles que ofrece .NET.ofrece .NET.Entre los controles nativos se encuentran Entre los controles nativos se encuentran controles totalmente nuevos y versiones controles totalmente nuevos y versiones mejoradas de sus pares de .NET 1.1.mejoradas de sus pares de .NET 1.1.Nuevos controles como el control Nuevos controles como el control BindingSource mejoran notablemente el BindingSource mejoran notablemente el enlace de datos provenientes de muy enlace de datos provenientes de muy diferentes fuentes de datos.diferentes fuentes de datos.

Page 25: Dce2 introduccion win_forms

Controles de Windows Controles de Windows (2/3)(2/3)

MaskedEditMaskedEdit Es un control que permite el uso de máscaras Es un control que permite el uso de máscaras

personalizadas para facilitar la entrada de personalizadas para facilitar la entrada de datos.datos.

TextBoxTextBox Cuadro de texto que, entre otras mejoras tiene Cuadro de texto que, entre otras mejoras tiene

la funcionalidad de auto completar.la funcionalidad de auto completar.LabelLabel Si el texto ocupa más lugar que el largo del Si el texto ocupa más lugar que el largo del

control, gracias a la nueva propiedad control, gracias a la nueva propiedad AutoEllipsisAutoEllipsis incorporada en .NET 2.0, el incorporada en .NET 2.0, el exedente se reemplaza automáticamente con exedente se reemplaza automáticamente con tres puntos (...) tres puntos (...)

Page 26: Dce2 introduccion win_forms

Controles de Windows Controles de Windows (3/3)(3/3)

DataGridViewDataGridView Es una versión mejorada del DataGrid control de NET Es una versión mejorada del DataGrid control de NET

1.1 con funcionalidad de modo “Virtual”. Permite 1.1 con funcionalidad de modo “Virtual”. Permite enlazar datos originados en una Base de Datos a enlazar datos originados en una Base de Datos a medida que se necesitan.medida que se necesitan.

TreeViewTreeView Utilizando la nueva propiedad DrawMode es posible Utilizando la nueva propiedad DrawMode es posible

sobreescribir la manera en que el sistema operativo sobreescribir la manera en que el sistema operativo “dibuja” cada nodo del árbol.“dibuja” cada nodo del árbol.

DataGridView

Page 27: Dce2 introduccion win_forms

Controles ContenedoresControles ContenedoresAlgunos controles como el propio Algunos controles como el propio Form, Panel o GroupBox heredan de la Form, Panel o GroupBox heredan de la clase ContainerControl en lugar de clase ContainerControl en lugar de hacerlo directamente de Control.hacerlo directamente de Control.Por este motivo, poseen una colección Por este motivo, poseen una colección mediante la que se puede acceder a mediante la que se puede acceder a los controles que contiene.los controles que contiene.Sólo se puede acceder a los controles Sólo se puede acceder a los controles de nivel superior, no a todos los de nivel superior, no a todos los controles contenidos.controles contenidos.

Page 28: Dce2 introduccion win_forms

Menú (1/2)Menú (1/2)El nuevo control El nuevo control MenuStripMenuStrip provee un provee un sistema de menú para un formulario.sistema de menú para un formulario.MenuStripMenuStrip es contenedor de objetos como es contenedor de objetos como ToolStripMenuItem, ToolStripComboBox, ToolStripMenuItem, ToolStripComboBox, ToolStripSeparator, ToolStripTextBox.ToolStripSeparator, ToolStripTextBox.El control El control ContextMenuStripContextMenuStrip representa un representa un menú que será mostrado al usuario cuando menú que será mostrado al usuario cuando presione el botón derecho del mouse. presione el botón derecho del mouse. También puede contener los mismos También puede contener los mismos controles que MenuStrip.controles que MenuStrip.Las propiedades MergeAction y MergeIndex Las propiedades MergeAction y MergeIndex del objeto del objeto ToolStripItemToolStripItem permiten controlar permiten controlar la manera en que los menú de dos la manera en que los menú de dos diferentes ventanas se “mezclarán”.diferentes ventanas se “mezclarán”.

Page 29: Dce2 introduccion win_forms

Menú (2/2)Menú (2/2)En la imagen se ve una aplicación que utiliza los En la imagen se ve una aplicación que utiliza los controles MenuStrip y ToolStrip. controles MenuStrip y ToolStrip. En segundo plano se En segundo plano se ve el diseñador de formularios.ve el diseñador de formularios.

Page 30: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControles

Diseño de Interfaz de UsuarioDiseño de Interfaz de Usuario SnaplinesSnaplines Document OutlineDocument Outline Paneles de LayoutPaneles de Layout Anchor y DockingAnchor y DockingControles Extender ProvidersControles Extender ProvidersHerencia visualHerencia visual

Page 31: Dce2 introduccion win_forms

SnaplinesSnaplinesSon líneas que se dibujan automáticamente en el Son líneas que se dibujan automáticamente en el diseñador de formularios al momento de diseñador de formularios al momento de posicionar el control.posicionar el control.Ayudan a mantener la correcta distancia entre los Ayudan a mantener la correcta distancia entre los controles y entre éstos y su contenedor.controles y entre éstos y su contenedor.

Page 32: Dce2 introduccion win_forms

Document OutlineDocument OutlineMediante esta herramienta es Mediante esta herramienta es posible ver la jerarquía de controles posible ver la jerarquía de controles del formulario en forma de TreeView, del formulario en forma de TreeView, y además editar el nombre de esos y además editar el nombre de esos controles.controles.

Page 33: Dce2 introduccion win_forms

Layout PanelsLayout Panels

TableLayoutPanelTableLayoutPanel Es similar a diseñar una tabla en un Es similar a diseñar una tabla en un

formulario HTML.formulario HTML. Facilita la ubicación de los controles en Facilita la ubicación de los controles en

escenarios de localización.escenarios de localización. Facilita la creación de interfaces Facilita la creación de interfaces

redimensionables.redimensionables.

FlowLayoutPanelFlowLayoutPanel Los controles contenidos “fluyen” como Los controles contenidos “fluyen” como

en el modo por defecto de un formulario en el modo por defecto de un formulario HTML.HTML.

Page 34: Dce2 introduccion win_forms

Anchor y DockingAnchor y DockingAnchorAnchor Automatiza el redimensionamiento y Automatiza el redimensionamiento y

posicionamiento de los controles posicionamiento de los controles cuando se redimensiona el formulario.cuando se redimensiona el formulario.

Los controles pueden Los controles pueden anclarseanclarse contra contra cualquier combinación de los cuatro cualquier combinación de los cuatro bordes del formulario.bordes del formulario.

DockingDocking La propiedad La propiedad DockDock (que exponen todos (que exponen todos

los controles Windows) permite los controles Windows) permite pegarpegar un control a alguno de los cuatro bordes un control a alguno de los cuatro bordes del formulario. del formulario.

Page 35: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de Usuario

Controles Extender ProvidersControles Extender ProvidersHerencia visualHerencia visual

Page 36: Dce2 introduccion win_forms

Controles Extender Controles Extender ProvidersProvidersSon controles que, una vez colocados en Son controles que, una vez colocados en

un formulario, agregan nuevas un formulario, agregan nuevas propiedades a los otros controles propiedades a los otros controles existentes.existentes. ErrorProviderErrorProvider: Permite asociar un error a : Permite asociar un error a

un control mostrando un ícono que un control mostrando un ícono que parpadea al lado de dicho control.parpadea al lado de dicho control.

HelpProviderHelpProvider: Permite asociar a un : Permite asociar a un control desde una simple cadena de control desde una simple cadena de texto un archivo Help que serán texto un archivo Help que serán mostrados al presionar F1.mostrados al presionar F1.

ToolTipToolTip: Es el clásico rectángulo que : Es el clásico rectángulo que aparece asociado a un control y que es aparece asociado a un control y que es mostrado cuando el mouse se detiene mostrado cuando el mouse se detiene sobre él.sobre él.

Page 37: Dce2 introduccion win_forms

TemarioTemario (1/2) (1/2)

Introducción a Windows FormsIntroducción a Windows FormsEl diseñador de formulariosEl diseñador de formulariosEl objeto FormEl objeto FormControlesControlesDiseño de Interfaz de UsuarioDiseño de Interfaz de UsuarioControles Extender ProvidersControles Extender Providers

Herencia visualHerencia visual

Page 38: Dce2 introduccion win_forms

Herencia VisualHerencia VisualDado que un formulario Windows es Dado que un formulario Windows es como cualquier otra clase .NET, es como cualquier otra clase .NET, es posible aplicar herencia.posible aplicar herencia.Al heredar de un formulario base, Al heredar de un formulario base, además de sus miembros, se además de sus miembros, se heredan todos los controles que en él heredan todos los controles que en él se encuentren.se encuentren.Permite entre otras cosas:Permite entre otras cosas: Unificar el diseño de las interfaces de Unificar el diseño de las interfaces de

usuario.usuario. Reutilizar funcionalidad de formularios Reutilizar funcionalidad de formularios

similares.similares.

Page 39: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguraciónDiálogos comunesDiálogos comunesEnlace a datosEnlace a datosDistribución de la aplicaciónDistribución de la aplicaciónReferenciasReferencias

Page 40: Dce2 introduccion win_forms

ConfiguraciónConfiguraciónLas Las Propiedades DinámicasPropiedades Dinámicas permiten permiten almacenar preferencias del usuario en almacenar preferencias del usuario en archivos de configuración asociados a la archivos de configuración asociados a la aplicación.aplicación.Estos valores pueden ser leídos y Estos valores pueden ser leídos y grabados tanto en diseño como en grabados tanto en diseño como en ejecución.ejecución.Por cada valor que se almacena se Por cada valor que se almacena se puede definir el nombre, tipo de dato y puede definir el nombre, tipo de dato y alcance (usuario o aplicación).alcance (usuario o aplicación).Es posible además enlazar (binding) Es posible además enlazar (binding) propiedades dinámicas a controles del propiedades dinámicas a controles del formulario.formulario.

Page 41: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguración

Diálogos comunesDiálogos comunesEnlace a datosEnlace a datosDistribución de la aplicaciónDistribución de la aplicaciónReferenciasReferencias

Page 42: Dce2 introduccion win_forms

Diálogos ComunesDiálogos ComunesLos cuadros de diálogo comunes permiten Los cuadros de diálogo comunes permiten interacción con el usuario para ejecutar interacción con el usuario para ejecutar acciones comunes como abrir un archivo, acciones comunes como abrir un archivo, configurar la impresión, seleccionar un color configurar la impresión, seleccionar un color del sistema, etc.del sistema, etc.Sólo basta configurar algunas propiedades Sólo basta configurar algunas propiedades e invocar su método ShowDialog().e invocar su método ShowDialog().Alguno de los controles que muestran estos Alguno de los controles que muestran estos diálogos son:diálogos son: ColorDialogColorDialog PrintDialogPrintDialog SaveDialogSaveDialog OpenDialogOpenDialog

Page 43: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguraciónDiálogos comunesDiálogos comunes

Enlace a datosEnlace a datos ColeccionesColecciones Objeto BindingSourceObjeto BindingSource ADO.NETADO.NETDistribución de la aplicaciónDistribución de la aplicaciónReferenciasReferencias

Page 44: Dce2 introduccion win_forms

ColeccionesColeccionesEnlace de un ComboBox a datos Enlace de un ComboBox a datos provenientes de un ArrayList:provenientes de un ArrayList: Código C#Código C#System.Collections.ArrayList Paises =

new System.Collections.ArrayList();Paises.Add("Argentina");Paises.Add("Brasil");Paises.Add("Uruguay");comboBox1.DataSource = Paises;

Código Visual BasicCódigo Visual BasicDim Paises As System.Collections.ArrayList = New _System.Collections.ArrayListPaises.Add("Argentina")Paises.Add("Brasil")Paises.Add("Uruguay")comboBox1.DataSource = Paises

Page 45: Dce2 introduccion win_forms

Objeto BindingSourceObjeto BindingSourceEl objeto BindingSource permite el enlace El objeto BindingSource permite el enlace de controles a datos provenientes de de controles a datos provenientes de fuentes de datos (DataSource) de tres tiposfuentes de datos (DataSource) de tres tipos DataBaseDataBase: Crea internamente un dataset.: Crea internamente un dataset. WebServiceWebService: Crea una referencia web a un : Crea una referencia web a un

servicio que es el que proporciona los datosservicio que es el que proporciona los datos ObjectObject: Utiliza una clase de negocios como : Utiliza una clase de negocios como

fuente de datos creando automáticamente una fuente de datos creando automáticamente una colección de elementos de esa clase.colección de elementos de esa clase.

Usándolo junto a un control Usándolo junto a un control DataBindingNavigatorDataBindingNavigator y un y un DataGridViewDataGridView conforman un formulario de ABM sin escribir conforman un formulario de ABM sin escribir código alguno.código alguno.

Page 46: Dce2 introduccion win_forms

ADO.NET ADO.NET (1/2)(1/2)

Además de utilizar el objeto Además de utilizar el objeto BindingSource, es posible enlazar BindingSource, es posible enlazar datos utilizando ADO.NET de manera datos utilizando ADO.NET de manera directa.directa. Ejemplo en C#Ejemplo en C#

using( SqlConnection cn = new SqlConnection("....") ){ cn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select *

from Employee", cn); DataTable dt = new DataTable(); da.Fill(dt); this.dataGridView1.DataSource = dt;}

Page 47: Dce2 introduccion win_forms

ADO .NET ADO .NET (2/2)(2/2)

Ejemplo en Visual BasicEjemplo en Visual Basic

Dim cn As SqlConnection = New SqlConnection("....")Try

cn.OpenDim da As SqlDataAdapter = New _SqlDataAdapter("Select * from Employee", cn)Dim dt As DataTable = New DataTableda.Fill(dt)Me.dataGridView1.DataSource = dt

Finallycn.Close

End Try

Page 48: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguraciónDiálogos comunesDiálogos comunesEnlace a datosEnlace a datos

Distribución de la aplicaciónDistribución de la aplicación Click OnceClick OnceReferenciasReferencias

Page 49: Dce2 introduccion win_forms

Distribución de la Distribución de la aplicaciónaplicaciónLa distribución de una aplicación Windows La distribución de una aplicación Windows

involucra varios pasos de cierta complejidad involucra varios pasos de cierta complejidad dependiendo de sus requerimientos.dependiendo de sus requerimientos..NET 2.0 incorpora .NET 2.0 incorpora ClickOnceClickOnce, una tecnología , una tecnología que permite la distribución de la aplicación, que permite la distribución de la aplicación, versionado y rollback, entre otras funciones.versionado y rollback, entre otras funciones.Es posible:Es posible: Decidir donde será instalada físicamente.Decidir donde será instalada físicamente. Especificar la frecuencia de revisión de Especificar la frecuencia de revisión de

actualizaciones.actualizaciones. Forzar actualizaciones críticas.Forzar actualizaciones críticas. Publicar actualizaciones en Servidores Publicar actualizaciones en Servidores

Web, Servidores de archivo (File Servers) o Web, Servidores de archivo (File Servers) o Servidores FTP.Servidores FTP.

Page 50: Dce2 introduccion win_forms

Temario Temario (2/2)(2/2)

ConfiguraciónConfiguraciónDiálogos comunesDiálogos comunesEnlace a datosEnlace a datosDistribución de la aplicaciónDistribución de la aplicación

ReferenciasReferencias

Page 51: Dce2 introduccion win_forms

Referencias AdicionalesReferencias AdicionalesWindows Forms:Windows Forms: http://windowsforms.nethttp://windowsforms.net http://samples.gotdotnet.com/quickstart/winforhttp://samples.gotdotnet.com/quickstart/winfor

ms/ms/

http://msdn.microsoft.com/library/en-us/cpref/hhttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asptml/frlrfsystemwindowsforms.asp

httphttp://msdn.microsoft.com/library/spa/default.asp?://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductionturl=/library/SPA/vbcon/html/vbconintroductiontowfcforms.aspowfcforms.asp

Page 52: Dce2 introduccion win_forms

Referencias AdicionalesReferencias AdicionalesSmart Client Developer CenterSmart Client Developer Center http://msdn.microsoft.com/smartclient/understhttp://msdn.microsoft.com/smartclient/underst

anding/windowsforms/default.aspxanding/windowsforms/default.aspx

ClickOnce:ClickOnce: http://msdn.microsoft.com/msdnmag/issues/04

/05/ClickOnce/

Page 53: Dce2 introduccion win_forms

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or

implied, in this summary.