Upload
anahi-montiel
View
212
Download
0
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