DCE2_Introduccion_WinForms

Embed Size (px)

Citation preview

  • 8/16/2019 DCE2_Introduccion_WinForms

    1/53

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

    de aplicaciones dede aplicaciones deescritorio con .NETescritorio con .NET

    Programa MicrosoftPrograma Microsoft

    Desarrollador CincoDesarrollador CincoEstrellasEstrellas

  • 8/16/2019 DCE2_Introduccion_WinForms

    2/53

    ObjetivoObjetivo

    Conocer los elementos involucradosConocer los elementos involucrados

    en el desarrollo de una aplicación deen el desarrollo de una aplicación deescritorio Windows con Visual Studioescritorio Windows con Visual Studio2! " la plata#orma $icroso#t .NET%2! " la plata#orma $icroso#t .NET%presentando las novedadespresentando las novedades

    introducidas al respecto en la nuevaintroducidas al respecto en la nuevaversión 2.versión 2.

  • 8/16/2019 DCE2_Introduccion_WinForms

    3/53

    &rerre'uisitos&rerre'uisitos

    (aber cursado " aprobado el módulo(aber cursado " aprobado el módulocorrespondiente a la Estrella ) delcorrespondiente a la Estrella ) delpro*rama +esarrollador ! Estrellaspro*rama +esarrollador ! Estrellas

    &ara reali,ar los ejercicios " ver los&ara reali,ar los ejercicios " ver losejemplos de códi*o adjunto necesita-ejemplos de códi*o adjunto necesita- (erramienta de +esarrollo(erramienta de +esarrollo $S Visual Studio 2! ó$S Visual Studio 2! ó $S Visual C 2! E/press Edition ó$S Visual C 2! E/press Edition ó $S Visual 0asic 2! E/press Edition$S Visual 0asic 2! E/press Edition

    0ase de +atos0ase de +atos $S S1 2! E/press Edition$S S1 2! E/press Edition

  • 8/16/2019 DCE2_Introduccion_WinForms

    4/53

     Temario Temario 3)4253)425

    Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6ormControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    5/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración

    +i:lo*os comunes+i:lo*os comunes

    Enlace a datosEnlace a datos+istribución de la aplicación+istribución de la aplicación

    ;e#erencias;e#erencias

  • 8/16/2019 DCE2_Introduccion_WinForms

    6/53

     Temario Temario 3)4253)425

    Introducción a Windows 6ormsIntroducción a Windows 6orms < 1u= es Windows 6orms >< 1u= es Windows 6orms > < 1u= es un #ormulario >< 1u= es un #ormulario > Cómo crear un pro"ecto de aplicaciónCómo crear un pro"ecto de aplicación

    para Windowspara Windows

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6ormControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    7/53

    < 1u= es Windows 6orms >< 1u= es Windows 6orms >

    Windows 6orms es un subconjunto deWindows 6orms es un subconjunto dela .NET 6ramewor? Class ibrar" 'uela .NET 6ramewor? Class ibrar" 'uepermite el desarrollo de aplicacionespermite el desarrollo de aplicaciones

    de escritorio ricas bajo $icroso#tde escritorio ricas bajo $icroso#tWindows.Windows.

    Inclu"e clases base% inter#aces%Inclu"e clases base% inter#aces%enumeraciones " controles *r:9cosenumeraciones " controles *r:9cosdiversos.diversos.

  • 8/16/2019 DCE2_Introduccion_WinForms

    8/53

    < 1u= es un #ormulario >< 1u= es un #ormulario >

    8n #ormulario Windows 6orms act@a8n #ormulario Windows 6orms act@acomo inter#a, del usuario local decomo inter#a, del usuario local deWindows.Windows.

    os #ormularios pueden ser ventanasos #ormularios pueden ser ventanasest:ndar% inter#aces de m@ltiplesest:ndar% inter#aces de m@ltiplesdocumentos 3$+I5% cuadros dedocumentos 3$+I5% cuadros dedi:lo*o% etc.di:lo*o% etc.

    os #ormularios son clases 'ueos #ormularios son clases 'uee/ponen propiedades% m=todos 'uee/ponen propiedades% m=todos 'uede9nen su comportamiento "de9nen su comportamiento "

    eventos 'ue de9nen la interaccióneventos 'ue de9nen la interacción

  • 8/16/2019 DCE2_Introduccion_WinForms

    9/53

    Cómo crear un pro"ectoCómo crear un pro"ecto

    de aplicación parade aplicación paraWindowsWindows8tili,ando los entornos de desarrollo-8tili,ando los entornos de desarrollo- Visual C 2! E/press Edition oVisual C 2! E/press Edition o Visual 0asic 2! E/press Edition%Visual 0asic 2! E/press Edition%

    se deben se*uir estos pasos-se deben se*uir estos pasos-1.1. En el menú File, seleccionar New Project En el menú File, seleccionar New Project 

    2.2. En la ventana que aparece seleccionarEn la ventana que aparece seleccionarWindows ApplicationWindows Application

    No es necesario crear un directorio paraNo es necesario crear un directorio paralos arcAivos del pro"ecto% =stos sonlos arcAivos del pro"ecto% =stos soncreados en un directorio temporal Aastacreados en un directorio temporal Aasta'ue se decida *rabarlos.'ue se decida *rabarlos.

  • 8/16/2019 DCE2_Introduccion_WinForms

    10/53

     Temario Temario 3)4253)425

    Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormulariosEl objeto 6ormEl objeto 6orm

    ControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    11/53

    El dise7ador deEl dise7ador de

    #ormularios#ormulariosBl momento de dise7ar un #ormulario% elBl momento de dise7ar un #ormulario% eldise7ador de Visual Studio E/press escribe dedise7ador de Visual Studio E/press escribe de#orma autom:tica el códi*o 'ue describe a#orma autom:tica el códi*o 'ue describe acada uno de los controles " al propiocada uno de los controles " al propio#ormulario.#ormulario.

    El concepto de &artial class 'ue incorporaEl concepto de &artial class 'ue incorpora.NET 2. permite separar el códi*o de una.NET 2. permite separar el códi*o de unaclase en varios arcAivos #uentes di#erentes.clase en varios arcAivos #uentes di#erentes.

    El dise7ador de #ormularios utili,a estaEl dise7ador de #ormularios utili,a esta

    t=cnica para escribir en un arcAivo apartet=cnica para escribir en un arcAivo apartetodo el códi*o 'ue =l mismo *enera.todo el códi*o 'ue =l mismo *enera.

    Esto permite or*ani,ar m:s claramente elEsto permite or*ani,ar m:s claramente elcódi*o% manteniendo separada la ló*ica de lacódi*o% manteniendo separada la ló*ica de la

    aplicación en un arcAivo di#erente.aplicación en un arcAivo di#erente.

  • 8/16/2019 DCE2_Introduccion_WinForms

    12/53

     Temario Temario 3)4253)425Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6orm eneralidadeseneralidades Eventos% $=todosEventos% $=todos Ciclo de vidaCiclo de vida  Trabajando con el $ouse Trabajando con el $ouse  Trabajando con el Teclado Trabajando con el Teclado 6oco de controles " orden de tabulación6oco de controles " orden de tabulación $essa*e 0o/$essa*e 0o/ControlesControles+ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario(erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    13/53

    eneralidadeseneralidades 3)4253)425

    El objeto 6orm es el principal componenteEl objeto 6orm es el principal componentede una aplicación Windows.de una aplicación Windows.

    Bl*unas de sus propiedades admitenBl*unas de sus propiedades admitenvalores de al*uno de los tipos nativosvalores de al*uno de los tipos nativos

    de .NETde .NET Ejemplo Códi*o CEjemplo Códi*o C miForm.ShowInTaskBar = false; miForm.Opacity = 0.83;

    miForm.ShowInTaskBar = False miForm.Opacity = 0.83

    Ejemplo Códi*o Visual 0asicEjemplo Códi*o Visual 0asic

  • 8/16/2019 DCE2_Introduccion_WinForms

    14/53

    eneralidadeseneralidades 3242532425

    Otras propiedades requieren la asignación deOtras propiedades requieren la asignación deobjetosobjetos

    Ejemplo en CEjemplo en C

    miForm.Size = new Size!00" !00#; miForm.$ocation = new $ocation0" 0#;

    Ejemplo en Visual 0asicEjemplo en Visual 0asic

    miForm.Size = %ew Size!00" !00# miForm.$ocation = %ew $ocation0" 0#

  • 8/16/2019 DCE2_Introduccion_WinForms

    15/53

    $=todos$=todosSAow35SAow35 Visuali,a el #ormulario. &uede especi9carse suVisuali,a el #ormulario. &uede especi9carse su

    #ormulario#ormulario OwnerOwner..

    Si un #ormulario B esSi un #ormulario B es ownerowner 3due7o5 de3due7o5 deotro 0% el #ormulario 0 siempre seotro 0% el #ormulario 0 siempre se

    visuali,ar: sobre el B% sin importar si otrovisuali,ar: sobre el B% sin importar si otro#ormulario est: activo#ormulario est: activo..

    SAow+ialo*35SAow+ialo*35 Visuali,a el #ormulario como cuadro de di:lo*oVisuali,a el #ormulario como cuadro de di:lo*o

    $odal$odal..  8n #ormulario visuali,ado de #orma8n #ormulario visuali,ado de #orma

    modalmodal no permite 'ue otro #ormulariono permite 'ue otro #ormulario

    perteneciente a la misma aplicaciónperteneciente a la misma aplicación

  • 8/16/2019 DCE2_Introduccion_WinForms

    16/53

    EventosEventos 3)4253)425

    $anejadores de eventos$anejadores de eventos

    &or cada evento soportado por el 6orm&or cada evento soportado por el 6orm3o por cual'uier otro objeto5 es posible3o por cual'uier otro objeto5 es posible

    de9nir varios m=todos manejadores.de9nir varios m=todos manejadores.

    B su ve,% un m=todo manejador puedeB su ve,% un m=todo manejador puedecontrolar eventos disparados porcontrolar eventos disparados por

    di#erentes objetos.di#erentes objetos.

  • 8/16/2019 DCE2_Introduccion_WinForms

    17/53

    EventosEventos 3242532425Ejemplos-Ejemplos- Códi*o CCódi*o C

    && 'arios mane(a)ores para *n e+ento

    this.,lick -= new +ent/an)lereto)oane(a)or!#;

    this.,lick -= new +ent/an)lereto)oane(a)or1#;

    && 2n mismo mane(a)or para )iferentes e+entos

    this.$oa) -= new +ent/an)lerane(a)or,entraliza)o#;

    this.cti+ate) -=new +ent/an)lerane(a)or,entraliza)o#;

    4 'arios mane(a)ores para *n e+ento

    ))/an)ler e.,lick, ))ressOf eto)oane(a)or!))/an)ler e.,lick, ))ressOf eto)oane(a)or1

    4 2n mismo mane(a)or para )iferentes e+entos

    ))/an)ler e.$oa), ))ressOf ane(a)or,entraliza)o

    ))/an)ler e.cti+ate), ))ressOf ane(a)or,entraliza)o

    Códi*o Visual 0asicCódi*o Visual 0asic

  • 8/16/2019 DCE2_Introduccion_WinForms

    18/53

    Ciclo de vida delCiclo de vida del

    #ormulario#ormulario$ucAos de los eventos a los 'ue$ucAos de los eventos a los 'ueresponde elresponde el objeto Formobjeto Form pertenecenpertenecenalal ciclo de vidaciclo de vida del #ormulariodel #ormulario

    Entre estos eventos se encuentranEntre estos eventos se encuentranlos si*uientes% en orden delos si*uientes% en orden deocurrencia-ocurrencia- oad- El #ormulario est: en memoria%oad- El #ormulario est: en memoria%

    pero invisible.pero invisible. &aint- Se Dpinta el #ormulario " sus&aint- Se Dpinta el #ormulario " sus

    controles.controles. Bctivated- El #ormulario recibe #oco.Bctivated- El #ormulario recibe #oco. 6ormClosin*- &ermite cancelar el cierre.6ormClosin*- &ermite cancelar el cierre. 6ormClosed- El #ormulario es invisible.6ormClosed- El #ormulario es invisible.

  • 8/16/2019 DCE2_Introduccion_WinForms

    19/53

     Trabajando con el $ouse Trabajando con el $ouse

    El mouse puede ser controlado escribiendoEl mouse puede ser controlado escribiendocódi*o para al*uno de estos eventos-códi*o para al*uno de estos eventos- $ouseClic?$ouseClic? $ouseEnter$ouseEnter $ouse$ove$ouse$oveB trav=s de los ar*umentos 'ue reciben losB trav=s de los ar*umentos 'ue reciben losmanejadores de estos eventos se puedemanejadores de estos eventos se puedeobtener-obtener- a posición del punteroa posición del puntero 1u= botón #ue presionado1u= botón #ue presionado Cantidad de Dpasos 'ue #ue *irada laCantidad de Dpasos 'ue #ue *irada la

    ruedarueda

  • 8/16/2019 DCE2_Introduccion_WinForms

    20/53

     Trabajando con el Teclado Trabajando con el Teclado

    El manejador del evento Fe"&ressEl manejador del evento Fe"&ressin#orma a trav=s del ar*umentoin#orma a trav=s del ar*umentoe.Fe"CAar el códi*o de la teclae.Fe"CAar el códi*o de la teclapresionada.presionada.

    Es posible cancelar el comportamientoEs posible cancelar el comportamientopor de#ecto asi*nando Dtrue alpor de#ecto asi*nando Dtrue alar*umento e.(andled.ar*umento e.(andled.

    os ar*umentos 'ue reciben losos ar*umentos 'ue reciben los

    manejadores de los eventos Fe"+own "manejadores de los eventos Fe"+own "Fe"8p in#orman del estado de las teclasFe"8p in#orman del estado de las teclasBlt% Ctrl " SAi#t.Blt% Ctrl " SAi#t.

    El evento (elp;e'uested es disparadoEl evento (elp;e'uested es disparado

    cuando se presiona la tecla 6).cuando se presiona la tecla 6).

  • 8/16/2019 DCE2_Introduccion_WinForms

    21/53

    El objeto 6orm e/pone di#erentesEl objeto 6orm e/pone di#erentespropiedades% m=todos " eventos 'uepropiedades% m=todos " eventos 'uepermiten controlar la nave*abilidad delpermiten controlar la nave*abilidad del#ormulario-#ormulario-

    &ropiedad&ropiedad anFocusanFocus- Indica si el control- Indica si el controlpuede tomar #oco.puede tomar #oco.

    &ropiedad&ropiedad FocusedFocused- Indica si el control- Indica si el controltiene el #oco actualmente.tiene el #oco actualmente.

    $=todo$=todo Focus!"Focus!"- D$ueve el #oco al objeto- D$ueve el #oco al objetodeseado.deseado.

    Orden de tabulación 3&ropiedadOrden de tabulación 3&ropiedad #ab$nde% #ab$nde% 55 En #orma visual% desde el dise7ador deEn #orma visual% desde el dise7ador de

    #ormularios% es posible con9*urar el orden#ormularios% es posible con9*urar el ordenen el 'ue el #oco se ir: moviendo por losen el 'ue el #oco se ir: moviendo por los

    6oco de controles "6oco de controles "orden de tabulaciónorden de tabulación

  • 8/16/2019 DCE2_Introduccion_WinForms

    22/53

    $essa*e0o/$essa*e0o/

    &ara mostrar in#ormación o pedir&ara mostrar in#ormación o pedirintervención del usuario% es posible utili,arintervención del usuario% es posible utili,arla clase $essa*e0o/.la clase $essa*e0o/.

    Esta clase contiene m=todos est:ticos 'ueEsta clase contiene m=todos est:ticos 'uepermiten mostrar un cuadro de mensajepermiten mostrar un cuadro de mensajepara interactuar con el usuario de lapara interactuar con el usuario de laaplicación.aplicación.

    os par:metros se especi9can a trav=s deos par:metros se especi9can a trav=s deenumerados 'ue #acilitan la le*ibilidad delenumerados 'ue #acilitan la le*ibilidad del

    códi*o% por ejemplo-códi*o% por ejemplo- $essa*e0o/0uttons.Bbort;etr"I*nore$essa*e0o/0uttons.Bbort;etr"I*nore $essa*e0o/Icon.Error$essa*e0o/Icon.Error $essa*e0o/+e#ault0utton.0utton)$essa*e0o/+e#ault0utton.0utton)

  • 8/16/2019 DCE2_Introduccion_WinForms

    23/53

     Temario Temario 3)4253)425Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6orm

    ControlesControles Controles de WindowsControles de Windows Controles contenedoresControles contenedores $en@$en@

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    Controles E/tender &rovidersControles E/tender &roviders

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    24/53

    Controles de WindowsControles de Windows 3)4G53)4G5

    ran parte del =/ito de una aplicaciónran parte del =/ito de una aplicaciónWindows consiste en ele*ir " manejarWindows consiste en ele*ir " manejaradecuadamente los controles 'ueadecuadamente los controles 'ueo#rece .NET.o#rece .NET.

    Entre los controles nativos se encuentranEntre los controles nativos se encuentrancontroles totalmente nuevos " versionescontroles totalmente nuevos " versionesmejoradas de sus pares de .NET ).).mejoradas de sus pares de .NET ).).

    Nuevos controles como el controlNuevos controles como el control

    0indin*Source mejoran notablemente el0indin*Source mejoran notablemente elenlace de datos provenientes de mu"enlace de datos provenientes de mu"di#erentes #uentes de datos.di#erentes #uentes de datos.

  • 8/16/2019 DCE2_Introduccion_WinForms

    25/53

    Controles de WindowsControles de Windows 324G5324G5$as?edEdit$as?edEdit

    Es un control 'ue permite el uso de m:scarasEs un control 'ue permite el uso de m:scaraspersonali,adas para #acilitar la entrada depersonali,adas para #acilitar la entrada dedatos.datos.

     Te/t0o/ Te/t0o/

    Cuadro de te/to 'ue% entre otras mejoras tieneCuadro de te/to 'ue% entre otras mejoras tienela #uncionalidad de auto completar.la #uncionalidad de auto completar.

    abelabel Si el te/to ocupa m:s lu*ar 'ue el lar*o delSi el te/to ocupa m:s lu*ar 'ue el lar*o del

    control% *racias a la nueva propiedadcontrol% *racias a la nueva propiedad AutoEllipsis AutoEllipsis incorporada en .NET 2.% elincorporada en .NET 2.% ele/edente se reempla,a autom:ticamente cone/edente se reempla,a autom:ticamente contres puntos 3...5tres puntos 3...5

  • 8/16/2019 DCE2_Introduccion_WinForms

    26/53

    Controles de WindowsControles de Windows 3G4G53G4G5+ataridView+ataridView Es una versión mejorada del +atarid control de NETEs una versión mejorada del +atarid control de NET

    ).) con #uncionalidad de modo DVirtual. &ermite).) con #uncionalidad de modo DVirtual. &ermiteenla,ar datos ori*inados en una 0ase de +atos aenla,ar datos ori*inados en una 0ase de +atos amedida 'ue se necesitan.medida 'ue se necesitan.

     TreeView TreeView 8tili,ando la nueva propiedad +raw$ode es posible8tili,ando la nueva propiedad +raw$ode es posible

    sobreescribir la manera en 'ue el sistema operativosobreescribir la manera en 'ue el sistema operativoDdibuja cada nodo del :rbol.Ddibuja cada nodo del :rbol.

    DataGridView

  • 8/16/2019 DCE2_Introduccion_WinForms

    27/53

    Controles ContenedoresControles Contenedores

    Bl*unos controles como el propioBl*unos controles como el propio6orm% &anel o roup0o/ Aeredan de la6orm% &anel o roup0o/ Aeredan de laclase ContainerControl en lu*ar declase ContainerControl en lu*ar deAacerlo directamente de Control.Aacerlo directamente de Control.

    &or este motivo% poseen una colección&or este motivo% poseen una colecciónmediante la 'ue se puede acceder amediante la 'ue se puede acceder alos controles 'ue contiene.los controles 'ue contiene.

    Sólo se puede acceder a los controlesSólo se puede acceder a los controlesde nivel superior% no a todos losde nivel superior% no a todos loscontroles contenidos.controles contenidos.

  • 8/16/2019 DCE2_Introduccion_WinForms

    28/53

    $en@ 3)425$en@ 3)425El nuevo controlEl nuevo control $enuStrip$enuStrip provee unprovee un

    sistema de men@ para un #ormulario.sistema de men@ para un #ormulario.$enuStrip$enuStrip es contenedor de objetos comoes contenedor de objetos como ToolStrip$enuItem% ToolStripCombo0o/% ToolStrip$enuItem% ToolStripCombo0o/% ToolStripSeparator% ToolStripTe/t0o/. ToolStripSeparator% ToolStripTe/t0o/.

    El controlEl control Conte/t$enuStripConte/t$enuStrip representa unrepresenta unmen@ 'ue ser: mostrado al usuario cuandomen@ 'ue ser: mostrado al usuario cuandopresione el botón derecAo del mouse.presione el botón derecAo del mouse. Tambi=n puede contener los mismos Tambi=n puede contener los mismos

    controles 'ue $enuStrip.controles 'ue $enuStrip.as propiedades $er*eBction " $er*eInde/as propiedades $er*eBction " $er*eInde/del objetodel objeto ToolStripItem ToolStripItem permiten controlarpermiten controlarla manera en 'ue los men@ de dosla manera en 'ue los men@ de dos

    di#erentes ventanas se Dme,clar:n.di#erentes ventanas se Dme,clar:n.

  • 8/16/2019 DCE2_Introduccion_WinForms

    29/53

    $en@ 32425$en@ 32425

    En la ima*en se ve una aplicación 'ue utili,a losEn la ima*en se ve una aplicación 'ue utili,a loscontroles $enuStrip " ToolStrip.controles $enuStrip " ToolStrip. En se*undo plano seEn se*undo plano seve el dise7ador de #ormularios.ve el dise7ador de #ormularios.

  • 8/16/2019 DCE2_Introduccion_WinForms

    30/53

     Temario Temario 3)4253)425Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6orm

    ControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario SnaplinesSnaplines +ocument Outline+ocument Outline

    &aneles de a"out&aneles de a"out BncAor " +oc?in*BncAor " +oc?in*Controles E/tender &rovidersControles E/tender &roviders

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    31/53

    SnaplinesSnaplinesSon lHneas 'ue se dibujan autom:ticamente en elSon lHneas 'ue se dibujan autom:ticamente en el

    dise7ador de #ormularios al momento dedise7ador de #ormularios al momento deposicionar el control.posicionar el control.

    B"udan a mantener la correcta distancia entre losB"udan a mantener la correcta distancia entre loscontroles " entre =stos " su contenedor.controles " entre =stos " su contenedor.

  • 8/16/2019 DCE2_Introduccion_WinForms

    32/53

    +ocument Outline+ocument Outline

    $ediante esta Aerramienta es posible$ediante esta Aerramienta es posiblever la jerar'uHa de controles delver la jerar'uHa de controles del#ormulario en #orma de TreeView% "#ormulario en #orma de TreeView% "adem:s editar el nombre de esosadem:s editar el nombre de esos

    controles.controles.

  • 8/16/2019 DCE2_Introduccion_WinForms

    33/53

    a"out &anelsa"out &anels

     Tablea"out&anel Tablea"out&anel Es similar a dise7ar una tabla en unEs similar a dise7ar una tabla en un

    #ormulario (T$.#ormulario (T$. 6acilita la ubicación de los controles en6acilita la ubicación de los controles en

    escenarios de locali,ación.escenarios de locali,ación. 6acilita la creación de inter#aces6acilita la creación de inter#aces

    redimensionables.redimensionables.

    6lowa"out&anel6lowa"out&anel os controles contenidos Du"en comoos controles contenidos Du"en como

    en el modo por de#ecto de un #ormularioen el modo por de#ecto de un #ormulario(T$.(T$.

  • 8/16/2019 DCE2_Introduccion_WinForms

    34/53

    BncAor " +oc?in*BncAor " +oc?in*BncAorBncAor Butomati,a el redimensionamiento "Butomati,a el redimensionamiento "

    posicionamiento de los controles cuandoposicionamiento de los controles cuandose redimensiona el #ormulario.se redimensiona el #ormulario.

    os controles puedenos controles pueden anclarseanclarse contracontracual'uier combinación de los cuatrocual'uier combinación de los cuatrobordes del #ormulario.bordes del #ormulario.

    +oc?in*+oc?in*

    a propiedada propiedad +oc?+oc? 3'ue e/ponen todos3'ue e/ponen todoslos controles Windows5 permitelos controles Windows5 permite pegarpegar un control a al*uno de los cuatro bordesun control a al*uno de los cuatro bordesdel #ormulario.del #ormulario.

  • 8/16/2019 DCE2_Introduccion_WinForms

    35/53

     Temario Temario 3)4253)425Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6orm

    ControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    Controles E/tender &rovidersControles E/tender &roviders(erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    36/53

    Controles E/tenderControles E/tender

    &roviders&rovidersSon controles 'ue% una ve, colocados enSon controles 'ue% una ve, colocados en

    un #ormulario% a*re*an nuevasun #ormulario% a*re*an nuevaspropiedades a los otros controlespropiedades a los otros controlese/istentes.e/istentes. Error&roviderError&rovider- &ermite asociar un error a- &ermite asociar un error a

    un control mostrando un Hcono 'ueun control mostrando un Hcono 'ueparpadea al lado de dicAo control.parpadea al lado de dicAo control.

    (elp&rovider(elp&rovider- &ermite asociar a un- &ermite asociar a uncontrol desde una simple cadena decontrol desde una simple cadena dete/to un arcAivo (elp 'ue ser:nte/to un arcAivo (elp 'ue ser:nmostrados al presionar 6).mostrados al presionar 6).

     ToolTip ToolTip- Es el cl:sico rect:n*ulo 'ue- Es el cl:sico rect:n*ulo 'ue

    aparece asociado a un control " 'ue esaparece asociado a un control " 'ue esmostrado cuando el mouse se detienemostrado cuando el mouse se detiene

  • 8/16/2019 DCE2_Introduccion_WinForms

    37/53

     Temario Temario 3)4253)425Introducción a Windows 6ormsIntroducción a Windows 6orms

    El dise7ador de #ormulariosEl dise7ador de #ormularios

    El objeto 6ormEl objeto 6orm

    ControlesControles

    +ise7o de Inter#a, de 8suario+ise7o de Inter#a, de 8suario

    Controles E/tender &rovidersControles E/tender &roviders

    (erencia visual(erencia visual

  • 8/16/2019 DCE2_Introduccion_WinForms

    38/53

    (erencia Visual(erencia Visual

    +ado 'ue un #ormulario Windows es+ado 'ue un #ormulario Windows escomo cual'uier otra clase .NET% escomo cual'uier otra clase .NET% esposible aplicar Aerencia.posible aplicar Aerencia.

    Bl Aeredar de un #ormulario base%Bl Aeredar de un #ormulario base%

    adem:s de sus miembros% seadem:s de sus miembros% seAeredan todos los controles 'ue en =lAeredan todos los controles 'ue en =lse encuentren.se encuentren.

    &ermite entre otras cosas-&ermite entre otras cosas- 8ni9car el dise7o de las inter#aces de8ni9car el dise7o de las inter#aces de

    usuario.usuario. ;eutili,ar #uncionalidad de #ormularios;eutili,ar #uncionalidad de #ormularios

    similares.similares.

  • 8/16/2019 DCE2_Introduccion_WinForms

    39/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración+i:lo*os comunes+i:lo*os comunes

    Enlace a datosEnlace a datos

    +istribución de la aplicación+istribución de la aplicación

    ;e#erencias;e#erencias

  • 8/16/2019 DCE2_Introduccion_WinForms

    40/53

    Con9*uraciónCon9*uraciónasas &ropiedades +in:micas&ropiedades +in:micas permitenpermitenalmacenar pre#erencias del usuario enalmacenar pre#erencias del usuario enarcAivos de con9*uración asociados a laarcAivos de con9*uración asociados a laaplicación.aplicación.

    Estos valores pueden ser leHdos "Estos valores pueden ser leHdos "*rabados tanto en dise7o como en*rabados tanto en dise7o como enejecución.ejecución.

    &or cada valor 'ue se almacena se puede&or cada valor 'ue se almacena se puede

    de9nir el nombre% tipo de dato " alcancede9nir el nombre% tipo de dato " alcance3usuario o aplicación5.3usuario o aplicación5.

    Es posible adem:s enla,ar 3bindin*5Es posible adem:s enla,ar 3bindin*5propiedades din:micas a controles delpropiedades din:micas a controles del

    #ormulario.#ormulario.

  • 8/16/2019 DCE2_Introduccion_WinForms

    41/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración

    +i:lo*os comunes+i:lo*os comunesEnlace a datosEnlace a datos

    +istribución de la aplicación+istribución de la aplicación

    ;e#erencias;e#erencias

  • 8/16/2019 DCE2_Introduccion_WinForms

    42/53

    +i:lo*os Comunes+i:lo*os Comunesos cuadros de di:lo*o comunes permitenos cuadros de di:lo*o comunes permiten

    interacción con el usuario para ejecutarinteracción con el usuario para ejecutaracciones comunes como abrir un arcAivo%acciones comunes como abrir un arcAivo%con9*urar la impresión% seleccionar un colorcon9*urar la impresión% seleccionar un colordel sistema% etc.del sistema% etc.

    Sólo basta con9*urar al*unas propiedades eSólo basta con9*urar al*unas propiedades einvocar su m=todo SAow+ialo*35.invocar su m=todo SAow+ialo*35.

    Bl*uno de los controles 'ue muestran estosBl*uno de los controles 'ue muestran estosdi:lo*os son-di:lo*os son- Color+ialo*Color+ialo* &rint+ialo*&rint+ialo* Save+ialo*Save+ialo*

    Open+ialo*Open+ialo*

  • 8/16/2019 DCE2_Introduccion_WinForms

    43/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración+i:lo*os comunes+i:lo*os comunes

    Enlace a datosEnlace a datos ColeccionesColecciones Objeto 0indin*SourceObjeto 0indin*Source B+O.NETB+O.NET

    +istribución de la aplicación+istribución de la aplicación;e#erencias;e#erencias

  • 8/16/2019 DCE2_Introduccion_WinForms

    44/53

    ColeccionesColeccionesEnlace de un Combo0o/ a datosEnlace de un Combo0o/ a datos

    provenientes de un Brra"ist-provenientes de un Brra"ist- Códi*o CCódi*o CSystem.,ollections.rray$ist 5aises =

    new System.,ollections.rray$ist#;

    5aises.))6r7entina6#;

    5aises.))6Brasil6#;

    5aises.))62r*7*ay6#;

    comoBo9!.:ataSo*rce = 5aises;

    Códi*o Visual 0asicCódi*o Visual 0asic

    :im 5aises s System.,ollections.rray$ist = %ew System.,ollections.rray$ist

    5aises.))6r7entina6#

    5aises.))6Brasil6#

    5aises.))62r*7*ay6#

    comoBo9!.:ataSo*rce = 5aises

  • 8/16/2019 DCE2_Introduccion_WinForms

    45/53

    Objeto 0indin*SourceObjeto 0indin*Source

    El objeto 0indin*Source permite el enlaceEl objeto 0indin*Source permite el enlacede controles a datos provenientes dede controles a datos provenientes de#uentes de datos 3+ataSource5 de tres tipos#uentes de datos 3+ataSource5 de tres tipos +ata0ase+ata0ase- Crea internamente un dataset.- Crea internamente un dataset. WebServiceWebService- Crea una re#erencia web a un- Crea una re#erencia web a un

    servicio 'ue es el 'ue proporciona los datosservicio 'ue es el 'ue proporciona los datos ObjectObject- 8tili,a una clase de ne*ocios como- 8tili,a una clase de ne*ocios como

    #uente de datos creando autom:ticamente una#uente de datos creando autom:ticamente unacolección de elementos de esa clase.colección de elementos de esa clase.

    8s:ndolo junto a un control8s:ndolo junto a un control+ata0indin*Navi*ator+ata0indin*Navi*ator " un" un +ataridView+ataridView con#orman un #ormulario de B0$ sin escribircon#orman un #ormulario de B0$ sin escribircódi*o al*uno.códi*o al*uno.

  • 8/16/2019 DCE2_Introduccion_WinForms

    46/53

    B+O.NETB+O.NET 3)4253)425

    Bdem:s de utili,ar el objetoBdem:s de utili,ar el objeto0indin*Source% es posible enla,ar0indin*Source% es posible enla,ardatos utili,ando B+O.NET de maneradatos utili,ando B+O.NET de maneradirecta.directa. Ejemplo en CEjemplo en C*sin7 S

  • 8/16/2019 DCE2_Introduccion_WinForms

    47/53

    B+O .NETB+O .NET 3242532425

    Ejemplo en Visual 0asicEjemplo en Visual 0asic

    :im cn s S

  • 8/16/2019 DCE2_Introduccion_WinForms

    48/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración

    +i:lo*os comunes+i:lo*os comunes

    Enlace a datosEnlace a datos

    +istribución de la aplicación+istribución de la aplicación Clic? OnceClic? Once

    ;e#erencias;e#erencias

    ó

  • 8/16/2019 DCE2_Introduccion_WinForms

    49/53

    +istribución de la+istribución de laaplicaciónaplicación

    a distribución de una aplicación Windowsa distribución de una aplicación Windowsinvolucra varios pasos de cierta complejidadinvolucra varios pasos de cierta complejidaddependiendo de sus re'uerimientos.dependiendo de sus re'uerimientos.

    .NET 2. incorpora.NET 2. incorpora Clic?OnceClic?Once% una tecnolo*Ha% una tecnolo*Ha'ue permite la distribución de la aplicación%'ue permite la distribución de la aplicación%

    versionado " rollbac?% entre otras #unciones.versionado " rollbac?% entre otras #unciones.Es posible-Es posible- +ecidir donde ser: instalada #Hsicamente.+ecidir donde ser: instalada #Hsicamente. Especi9car la #recuencia de revisión deEspeci9car la #recuencia de revisión de

    actuali,aciones.actuali,aciones. 6or,ar actuali,aciones crHticas.6or,ar actuali,aciones crHticas. &ublicar actuali,aciones en Servidores Web%&ublicar actuali,aciones en Servidores Web%

    Servidores de arcAivo 36ile Servers5 oServidores de arcAivo 36ile Servers5 oServidores 6T&.Servidores 6T&.

  • 8/16/2019 DCE2_Introduccion_WinForms

    50/53

     Temario Temario 3242532425

    Con9*uraciónCon9*uración

    +i:lo*os comunes+i:lo*os comunes

    Enlace a datosEnlace a datos

    +istribución de la aplicación+istribución de la aplicación

    ;e#erencias;e#erencias

  • 8/16/2019 DCE2_Introduccion_WinForms

    51/53

    ;e#erencias Bdicionales;e#erencias BdicionalesWindows 6orms-Windows 6orms- Attp-44windows#orms.netAttp-44windows#orms.net Attp-44samples.*otdotnet.com4'uic?start4win#oAttp-44samples.*otdotnet.com4'uic?start4win#o

    rms4rms4 

    Attp-44msdn.microso#t.com4librar"4enJus4cpre#4Attp-44msdn.microso#t.com4librar"4enJus4cpre#4Atml4#rlr#s"stemwindows#orms.aspAtml4#rlr#s"stemwindows#orms.asp 

    AttpAttp-44msdn.microso#t.com4librar"4spa4de#ault.asp>-44msdn.microso#t.com4librar"4spa4de#ault.asp>urlK4librar"4S&B4vbcon4Atml4vbconintroductionturlK4librar"4S&B4vbcon4Atml4vbconintroductiontow#c#orms.aspow#c#orms.asp 

    # i di i l

    http://windowsforms.net/http://windowsforms.net/http://samples.gotdotnet.com/quickstart/winforms/http://samples.gotdotnet.com/quickstart/winforms/http://samples.gotdotnet.com/quickstart/winforms/http://samples.gotdotnet.com/quickstart/winforms/http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconintroductiontowfcforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsforms.asphttp://samples.gotdotnet.com/quickstart/winforms/http://samples.gotdotnet.com/quickstart/winforms/http://windowsforms.net/

  • 8/16/2019 DCE2_Introduccion_WinForms

    52/53

    ;e#erencias Bdicionales;e#erencias BdicionalesSmart Client +eveloper CenterSmart Client +eveloper Center Attp-44msdn.microso#t.com4smartclient4understAttp-44msdn.microso#t.com4smartclient4underst

    andin*4windows#orms4de#ault.asp/andin*4windows#orms4de#ault.asp/ 

    Clic?Once-Clic?Once- Attp-44msdn.microso#t.com4msdnma*4issues4L4

    !4Clic?Once4 

    http://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/http://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspxhttp://msdn.microsoft.com/smartclient/understanding/windowsforms/default.aspx

  • 8/16/2019 DCE2_Introduccion_WinForms

    53/53

    M 2 $icroso#t Corporation. Bll ri*Ats reserved.TAis presentation is #or in#ormational purposes onl" $icroso#t ma?es no warranties e/press or