clase x
TRANSCRIPT
![Page 1: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/1.jpg)
Clase XClase X•[nombre instructor][nombre instructor]
•[fecha][fecha]
![Page 2: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/2.jpg)
AgendaAgenda
.NET Framework.NET Framework Garbage CollectorGarbage Collector Click OnceClick Once
Programación orientada a eventosProgramación orientada a eventos DelegatesDelegates EventsEvents
Windows FormsWindows Forms
![Page 3: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/3.jpg)
AgendaAgenda
..NET FrameworkNET Framework Garbage CollectorGarbage Collector Click OnceClick Once
Programación orientada a eventosProgramación orientada a eventos DelegatesDelegates EventsEvents
Windows FormsWindows Forms
![Page 4: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/4.jpg)
La memoria y los tiposLa memoria y los tipos
Dos áreas de memoria administradas por el CLR: Dos áreas de memoria administradas por el CLR: Stack y HeapStack y Heap
El Stack es liberada automáticamente y el Heap es El Stack es liberada automáticamente y el Heap es administrada por el GC (Garbage Collector)administrada por el GC (Garbage Collector)
Los tipos VALOR se Los tipos VALOR se alojan en el Stackalojan en el Stack
Los tipos Los tipos REFERENCIA se REFERENCIA se alojan en el Heapalojan en el Heap
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 5: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/5.jpg)
Administración de Memoria Administración de Memoria AutomáticaAutomática Uno de los servicios que provee CLR Uno de los servicios que provee CLR
durante ejecución administradadurante ejecución administrada Garbage CollectorGarbage Collector
Administra alocación y liberación de Administra alocación y liberación de memoriamemoria
Se evitan problemas de manejo de Se evitan problemas de manejo de memoriamemoria Liberación de objetosLiberación de objetos Uso de objetos ya liberados Uso de objetos ya liberados
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 6: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/6.jpg)
Garbage CollectorGarbage Collector .Net asigna memoria para los objetos en la heap de manera .Net asigna memoria para los objetos en la heap de manera
muy eficientemuy eficiente Cuando el objeto deja de ser útil, debe ser liberado ese Cuando el objeto deja de ser útil, debe ser liberado ese
espacioespacio Queda fuera del scopeQueda fuera del scope Se llama a DisposeSe llama a Dispose
Garbage collector crea un gráfico de recolecciónGarbage collector crea un gráfico de recolección Lista enlazada con jerarquía de instanciasLista enlazada con jerarquía de instancias
Proceso de recolección consta de dos fasesProceso de recolección consta de dos fases Posiciones de heap con objetos fuera de scope o Posiciones de heap con objetos fuera de scope o
referencias null, marcadas como librereferencias null, marcadas como libre Compactación de memoriaCompactación de memoria
¿Qué pasa con objetos que no quedan fuera de scope y no ¿Qué pasa con objetos que no quedan fuera de scope y no son destruidos manualmente?son destruidos manualmente? ““Cuanto mas antiguo es un objeto, mas probable es que Cuanto mas antiguo es un objeto, mas probable es que
permanezca”permanezca”
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 7: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/7.jpg)
Garbage Collector – Alocación de Garbage Collector – Alocación de memoriamemoria Heap AdministradaHeap Administrada
Al iniciar un nuevo proceso, se reserva Al iniciar un nuevo proceso, se reserva una región continua de espacios una región continua de espacios direccionablesdireccionables
Puntero a la próxima dirección alocadaPuntero a la próxima dirección alocada Mas rápida que la alocación en memoria Mas rápida que la alocación en memoria
no administrada.no administrada. A medida que aplicación crea tipos de A medida que aplicación crea tipos de
referencia, se alocan direcciones contiguas referencia, se alocan direcciones contiguas en heapen heap
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 8: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/8.jpg)
Garbage Collector – Liberado de Garbage Collector – Liberado de memoriamemoria Motor de GC determina cuando es el mejor Motor de GC determina cuando es el mejor
momento para una recolecciónmomento para una recolección Se examina raíz de cada aplicación y se Se examina raíz de cada aplicación y se
determina gráfico con objetos que todavía determina gráfico con objetos que todavía son accesiblesson accesibles Los objetos no accesibles son basura, y Los objetos no accesibles son basura, y
su espacio en memoria es liberadosu espacio en memoria es liberado Se compacta ese espacioSe compacta ese espacio Se reacomodan las referencias a los Se reacomodan las referencias a los
objetos accesiblesobjetos accesibles El puntero de la heap administrada se El puntero de la heap administrada se
ubica en el último objeto accesibleubica en el último objeto accesible
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 9: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/9.jpg)
Garbage Collector – Generaciones y Garbage Collector – Generaciones y performanceperformance GC cuenta con 3 generacionesGC cuenta con 3 generaciones
Sectores de la heapSectores de la heap Los objetos que sobreviven a las recolecciones Los objetos que sobreviven a las recolecciones
son promovidos de generación luego de ser son promovidos de generación luego de ser compactadoscompactados
Cuando se necesita memoria, se recolecta en la Cuando se necesita memoria, se recolecta en la generación 0, si no alcanza, en la 1 y luego en la generación 0, si no alcanza, en la 1 y luego en la 0, y sino, en la 2, 1 y 00, y sino, en la 2, 1 y 0
Los objetos mas viejos, vivirán en la generación Los objetos mas viejos, vivirán en la generación 2, mientras que los mas nuevos, generalmente 2, mientras que los mas nuevos, generalmente dejaran de ser accesibles estando en la dejaran de ser accesibles estando en la generación 0, eso libera espacio para nuevos generación 0, eso libera espacio para nuevos objetosobjetos
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 10: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/10.jpg)
Garbage Collector – Liberando Garbage Collector – Liberando recursos no adminsitradosrecursos no adminsitrados Garbage Collector libera automáticamente la Garbage Collector libera automáticamente la
memoria de recursos administradosmemoria de recursos administrados Los recursos no administrados deben ser Los recursos no administrados deben ser
liberados de manera explícitaliberados de manera explícita Manejadores de archivosManejadores de archivos Manejadores de ventanasManejadores de ventanas Conexiones de red.Conexiones de red.
El GC no sabe como liberar el recursoEl GC no sabe como liberar el recurso El objeto que encapsula el recurso, El objeto que encapsula el recurso,
debe implementar un Dispose públicodebe implementar un Dispose público
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 11: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/11.jpg)
Distribución ClickOnceDistribución ClickOnce
ClickOnce permite la creación de ClickOnce permite la creación de aplicaciones auto-actualizables, que aplicaciones auto-actualizables, que pueden ser instaladas y actualizadas pueden ser instaladas y actualizadas con mínima interacción del usuariocon mínima interacción del usuario
ClickOnce solucionaClickOnce soluciona Dificultades actualizando Dificultades actualizando
aplicacionesaplicaciones Impacto a los usuariosImpacto a los usuarios Problemas de permisos de Problemas de permisos de
seguridad.seguridad.
.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 12: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/12.jpg)
¿Qué es una aplicación ClickOnce?¿Qué es una aplicación ClickOnce?
Cualquier aplicación Windows Form o Cualquier aplicación Windows Form o consola que se publica utilizando la consola que se publica utilizando la tecnología ClickOncetecnología ClickOnce
Es posible actualizar la aplicación Es posible actualizar la aplicación desdedesde Página WebPágina Web RedRed CD-ROMCD-ROM
Puede ser instalada por un usuario Puede ser instalada por un usuario finalfinal
Puede volverse atrás la instalaciónPuede volverse atrás la instalación.NE
T F
ram
ew
ork
.NE
T F
ram
ew
ork
![Page 13: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/13.jpg)
AgendaAgenda
.NET Framework.NET Framework Garbage CollectorGarbage Collector Click OnceClick Once
Programación orientada a eventosProgramación orientada a eventos DelegatesDelegates EventsEvents
Windows FormsWindows Forms
![Page 14: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/14.jpg)
DelegadosDelegados
1. El cambio en la posición del switch invoca el método OnFlip del switch
2. El método OnFlip invoca a un delegado
3. El delegado invoca el método del objeto Light OnFlipCallback
4. El método OnFlipCallback cambia el estado del objeto Light
OnFlip method
Switch Object
Método OnFlipCallback
Objeto Light
Delegar objetoDelegar objeto
Método OnFlip
Objeto Switch
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 15: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/15.jpg)
Declarar un DelegadoDeclarar un Delegado
La delcaración de un delegado define un tipo que encapsula un método que tiene un grupo particular de argumentos y un tipo de devolución
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 16: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/16.jpg)
Instanciar un DelegadoInstanciar un Delegado
Un objeto delegado se crea con un operador New Los objetos delegados son inmutables Para llamar a un delegado, utilice una declaración que
contenga: El nombre del objeto delegado seguido de los argumentos entre
paréntesis que se pasarán al delegado O, utilice el método Invoke del objeto delegado con los
argumentos entre paréntesis
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 17: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/17.jpg)
Instanciar un Delegado - EjemploInstanciar un Delegado - EjemploP
rogr
ama
ció
n o
rien
tada
a e
vent
os
Pro
gram
aci
ón
ori
enta
da a
eve
nto
s
![Page 18: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/18.jpg)
Delegados MulticastDelegados Multicast
Escenario de Delegados Multicast
Delegados Simples vs. Multicast
Crear e Invocar Delegados Multicast
Detalles de los Delegados
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 19: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/19.jpg)
Escenario de Delegados MulticastEscenario de Delegados Multicast
2. El método OnFlip invoca al delegado1 multicast
4. El método OnFlipCallback cambia el estado del objeto light1
3. El delegado1 invoca el método OnFlipCallback del objeto light1 7. El método
OnFlipCallback cambia el estado del objeto light2
6. El delegado2 invoca el método OnFlipCallback del objeto light2
OnFlip method
Switch Object
Método OnFlipCallback
Objeto Light1
Método OnFlipCallback
Objeto Light2
Objeto delegado1MulticastObjeto delegado1Multicast
Objeto delegado2 MulticastObjeto delegado2 Multicast
Lista de Invocación
5. Se invoca aldelegado2
1. El cambio en la posición del switch invoca el método OnFlip del switch
Método OnFlip
Objeto Switch
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 20: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/20.jpg)
Delegados MulticastDelegados Multicast
Todos los delegados tienen una lista de invocación Contiene métodos que se ejecutan cuando se llama al método
Invoke del delegado Los delegados single-cast surgen directamente de
System.Delegate La lista de invocación contiene solo un método Los delegados multicast surgen de System.MulticastDelegate
La lista de invocación puede contener múltiples métodos Los métodos Combine y Remove se usan para agregar y
eliminar referencias de la lista de invocación Utilice GetInvocationList para obtener una lista de invocación
como un grupo de referencias de delegados Utilice las propiedades del delegado Target y Method para
determinar: Qué objeto recibirá la llamada (callback) Qué método se llamará
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 21: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/21.jpg)
Delegados Multicast – Ejemplo (C#)Delegados Multicast – Ejemplo (C#)
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 22: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/22.jpg)
Delegados Multicast – Ejemplo Delegados Multicast – Ejemplo (VB.NET)(VB.NET)
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 23: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/23.jpg)
EventosEventos
Declarar un Evento Conectarse a un Evento Levantar un Evento Pautas de .NET Framework
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 24: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/24.jpg)
Declarar un EventoDeclarar un Evento
Declarar el tipo de delegado para el evento Declarar el evento
La sintaxis es como declarar un campo del tipo delegado, pero el nombre del campo es precedido por la palabra clave Event
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 25: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/25.jpg)
Conectarse a un EventoConectarse a un Evento
Conéctese a un evento agregando delegados con “+=“ en C# y con la palabra clave reservada AddHandler en VB.NET
Desconéctese de un evento eliminando delegados con “-=“ y con la palabra clave reservada RemoveHandler en VB.NET
Ejemplo a continuación…
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 26: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/26.jpg)
Conectarse a un Evento – Ejemplo Conectarse a un Evento – Ejemplo (C#)(C#)
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 27: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/27.jpg)
Conectarse a un Evento – Ejemplo Conectarse a un Evento – Ejemplo (VB.NET)(VB.NET)
Pro
gram
aci
ón
ori
enta
da a
eve
nto
sP
rogr
ama
ció
n o
rien
tada
a e
vent
os
![Page 28: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/28.jpg)
AgendaAgenda
.NET Framework.NET Framework Garbage CollectorGarbage Collector Click OnceClick Once
Programación orientada a eventosProgramación orientada a eventos DelegatesDelegates EventsEvents
Windows FormsWindows Forms
![Page 29: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/29.jpg)
Cómo crear un formulario?Cómo crear un formulario?
Un formulario base Un formulario base se crea junto con un se crea junto con un nuevo proyecto de nuevo proyecto de forma automáticaforma automática
Para crear un nuevo Para crear un nuevo formularioformulario1.1. Click derecho sobre Click derecho sobre
el proyecto en el el proyecto en el Explorador de Explorador de solucionessoluciones
2.2. Click AddClick Add
3.3. Click Add Windows Click Add Windows FormsForms
WinForms
WinForms
![Page 30: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/30.jpg)
Cómo manejar los eventos del formularioCómo manejar los eventos del formulario
Events
WinForms
WinForms
![Page 31: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/31.jpg)
Cómo agregar controles a un formulario?Cómo agregar controles a un formulario?WinForms
WinForms
![Page 32: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/32.jpg)
Smart Clients (WinForms) 2.0Smart Clients (WinForms) 2.0
¡Grandes cambios!¡Grandes cambios! 67% más de tipos públicos67% más de tipos públicos 127% más de propiedades públicas127% más de propiedades públicas
Soporte para los temas visuales de XPSoporte para los temas visuales de XP Application.EnableVisualStyles();Application.EnableVisualStyles();
Mejoras en la distribución de los controlesMejoras en la distribución de los controles Alineación “Snap-to” Alineación “Snap-to” Distribuye ControlesDistribuye Controles
WinForms
WinForms
![Page 33: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/33.jpg)
Smart tagsSmart tags Facilita las tareas comunes con los controlesFacilita las tareas comunes con los controles
Trabajo con formularios complejosTrabajo con formularios complejos Document outlineDocument outline Edición rápida de propiedadesEdición rápida de propiedades
Nuevas fuentes de datosNuevas fuentes de datos XML, objeto, servicio web, base de datosXML, objeto, servicio web, base de datos
WinForms 2.0WinForms 2.0WinForms
WinForms
![Page 34: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/34.jpg)
Distribución de controles en WinForms 2.0Distribución de controles en WinForms 2.0
Distribución y redimensionamiento más fácil para Distribución y redimensionamiento más fácil para formularios complejosformularios complejos
Flow Layout: similar al flow layout de ASP .NET Flow Layout: similar al flow layout de ASP .NET (HTML)(HTML)
Table Layout: el formulario está organizado por filas Table Layout: el formulario está organizado por filas y columnas (1 control por celda)y columnas (1 control por celda)
WinForms
WinForms
![Page 35: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/35.jpg)
WinForms 2.0: Propiedad Editing WinForms 2.0: Propiedad Editing ModeMode
Habilita la “edición en el lugar” de las Habilita la “edición en el lugar” de las propiedadespropiedades
WinForms
WinForms
![Page 36: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/36.jpg)
WinForms 2.0: Controles WinForms 2.0: Controles
DataGridViewDataGridView Nueva versión de DataGridNueva versión de DataGrid Un modelo de objeto más intuitivo de datos enlazadosUn modelo de objeto más intuitivo de datos enlazados Soporta Smart Tags para enlazar rápidamente a una fuente de Soporta Smart Tags para enlazar rápidamente a una fuente de
datosdatos MenuStripMenuStrip
Nuevo y poderoso menú con increíbles capacidades de Nuevo y poderoso menú con increíbles capacidades de rendimientorendimiento
WebBrowserWebBrowser Componente para en IEComponente para en IE
SoundPlayerSoundPlayer Componentes simples para agregar sonidos a sus aplicacionesComponentes simples para agregar sonidos a sus aplicaciones
BackgroundWorker BackgroundWorker Simplifica la tarea de usar worker threads para recuperar Simplifica la tarea de usar worker threads para recuperar
información requerida por UI.información requerida por UI.
WinForms
WinForms
![Page 37: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/37.jpg)
Desarrollo con ClickOnceDesarrollo con ClickOnce
¡Desarrollo de Smart Client sumamente simplificado!¡Desarrollo de Smart Client sumamente simplificado! Aplicaciones Rich Client con desarrollo y actualizaciones de forma Aplicaciones Rich Client con desarrollo y actualizaciones de forma
tan simple como una aplicación webtan simple como una aplicación web Invocado desde el item de menu BuildInvocado desde el item de menu BuildPublish SolutionPublish Solution
WinForms
WinForms
![Page 38: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/38.jpg)
Configuración de ClickOnceConfiguración de ClickOnce
Seleccionar Proyecto Seleccionar Proyecto Propiedades Propiedades UI completamente nueva para manipular las propiedades del UI completamente nueva para manipular las propiedades del
proyectoproyecto
Opciones de desarrollo:Opciones de desarrollo: Web ServerWeb Server File ShareFile Share
Opciones de actualización:Opciones de actualización: Chequear actualizaciones cuando la aplicación comienzaChequear actualizaciones cuando la aplicación comienza Chequear por actualizaciones en silencio mientras la aplicación se Chequear por actualizaciones en silencio mientras la aplicación se
ejecutaejecuta Permitir o no al usuario aceptar la actualizaciónPermitir o no al usuario aceptar la actualización
Opciones de prerequisitos:Opciones de prerequisitos: dotnetfxdotnetfx Windows installerWindows installer MDACMDAC SQL Server 2005 Express EditionSQL Server 2005 Express Edition J# redistributable packageJ# redistributable package
WinForms
WinForms
![Page 39: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/39.jpg)
Data Sources Window Data Sources Window Operaciones de Drag and DropOperaciones de Drag and Drop
Hacer Drag and Drop de tablas desde la Hacer Drag and Drop de tablas desde la ventana Data Sources en el formulario ventana Data Sources en el formulario creará instancias de:creará instancias de: DataSet, TableAdapter, BindingSourceDataSet, TableAdapter, BindingSource BindingNavigator con los controles nav/add/delete/saveBindingNavigator con los controles nav/add/delete/save Bound control(s)Bound control(s)
Use la ventana Data Sources para Use la ventana Data Sources para configurar:configurar: Si la tabla será editada con DataGridView o el modo Si la tabla será editada con DataGridView o el modo
“Details” “Details”
(controles individuales)(controles individuales) El mapeo de los tipos de control de detalle a tipo de datos El mapeo de los tipos de control de detalle a tipo de datos
columna.columna.
WinForms
WinForms
![Page 40: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/40.jpg)
Opciones de Data SourceOpciones de Data Source
Database (DataSet)Database (DataSet) Cualquier fuente de Cualquier fuente de
datos ADO.NETdatos ADO.NET
Web ServiceWeb Service Liga a métodos Liga a métodos
parametrizados de un parametrizados de un servicio Web, para servicio Web, para operaciones de select, operaciones de select, update, delete e insert.update, delete e insert.
ObjectObject Liga a instancias de Liga a instancias de
clases y sus clases y sus propiedades.propiedades.
WinForms
WinForms
![Page 41: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/41.jpg)
Smart DefaultsSmart Defaults
Nombres de los controlesNombres de los controles Títulos de LabelsTítulos de Labels Controlan a través de la propiedad Controlan a través de la propiedad
Caption de Column objetos en Caption de Column objetos en DataSets tipados.DataSets tipados.
Adición automática de DataSets Adición automática de DataSets tipados y sus DataTables a la ventana tipados y sus DataTables a la ventana de herramientas.de herramientas.
WinForms
WinForms
![Page 42: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/42.jpg)
WinForms 2.0 Data BindingWinForms 2.0 Data BindingIntroducción a los objetosIntroducción a los objetos
Typed DataSetTyped DataSet
DataTable, TableAdapterDataTable, TableAdapter
BindingSourceBindingSource
[BindingNavigator][BindingNavigator]
WinForms
WinForms
![Page 43: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/43.jpg)
DataSets fuertemente tipadosDataSets fuertemente tipados
Como antes:Como antes: Consiste de DataTables, Relaciones y Consiste de DataTables, Relaciones y
ConstraintsConstraints Se permite drag/drop desde el Server ExporerSe permite drag/drop desde el Server Exporer Basado en el esquema XML y la clase code-Basado en el esquema XML y la clase code-
behindbehind
Tambien tiene TablaAdaperTambien tiene TablaAdaper Encapsula un DataAdapter y un ConnectionEncapsula un DataAdapter y un Connection
Mejoramiento del diseñador de DataSet Mejoramiento del diseñador de DataSet tipadotipado En vez de XSD DesignerEn vez de XSD Designer
Soporte para Clase ParcialSoporte para Clase Parcial
WinForms
WinForms
![Page 44: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/44.jpg)
TableAdaptersTableAdapters
Tienen Queries (métodos para manejar Tienen Queries (métodos para manejar selects, updates, inserts, deletes)selects, updates, inserts, deletes)
Las Queries existen como métodosLas Queries existen como métodos Completamente personalizable y Completamente personalizable y
extendibleextendible Puede ser re utilizado a través de Puede ser re utilizado a través de
múltiples formulariosmúltiples formularios Tiene la propiedad ConnectionTiene la propiedad Connection
WinForms
WinForms
![Page 45: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/45.jpg)
BindingSourceBindingSource
Actúan como “broker” entre los Actúan como “broker” entre los controles enlazados y la fuente de controles enlazados y la fuente de datos actualdatos actual
DataSource, DataMemberDataSource, DataMember Apuntan a los DataSet tipados y Apuntan a los DataSet tipados y
DataTableDataTable
AllowEdit, AllowNew, AllowRemove AllowEdit, AllowNew, AllowRemove Propiedades Filter y Sort Propiedades Filter y Sort En tiempo de ejecución: métodos En tiempo de ejecución: métodos
RemoveFilter y RemoveSortRemoveFilter y RemoveSortWinForms
WinForms
![Page 46: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/46.jpg)
BindingSourceBindingSourceMiembros de tiempo de ejecuciónMiembros de tiempo de ejecución
Propiedades MovePrevious, MoveNext, Propiedades MovePrevious, MoveNext, MoveFirst, MoveLast, Position, CountMoveFirst, MoveLast, Position, Count
Métodos AddNew, Insert (index, obj), Métodos AddNew, Insert (index, obj), RemoveCurrent , RemoveAt(index), RemoveCurrent , RemoveAt(index), Remove(obj), EndEdit, CancelEdit Remove(obj), EndEdit, CancelEdit methodsmethods
WinForms
WinForms
![Page 47: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/47.jpg)
BindingNavigatorBindingNavigator
Proveedor de UI que envuelve la navegación Proveedor de UI que envuelve la navegación y la funcionalidad de mantenimiento de y la funcionalidad de mantenimiento de BindingSourceBindingSource Distinto al viejo VB Data Control.Distinto al viejo VB Data Control.
Tiene componente de UITiene componente de UI Tiene componente de Tray tambiénTiene componente de Tray también Miembros que asocian los controles Miembros que asocian los controles
ToolStrip con actores específicosToolStrip con actores específicos DeleteItem = bindingNavigatorDeleteItem (ToolStripButton)DeleteItem = bindingNavigatorDeleteItem (ToolStripButton)
WinForms
WinForms
![Page 48: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/48.jpg)
Escenarios de Binding Simples y Escenarios de Binding Simples y ComplejosComplejos
Binding ComplejoBinding Complejo Enlaza una colección de datos a controles que Enlaza una colección de datos a controles que
presentan múltiples valores de la colecciónpresentan múltiples valores de la colección DataGridView.DataSource = BindingSourceDataGridView.DataSource = BindingSource
Binding SimpleBinding Simple Enlaza un solo valor de una colección de datos a Enlaza un solo valor de una colección de datos a
una solo propiedad de un controluna solo propiedad de un control TextBox.Text (y las propiedades basadas en TextBox.Text (y las propiedades basadas en
texto de otros controles) vinculado a un miembro texto de otros controles) vinculado a un miembro de BindingSourcede BindingSource
BindingNavigator.BindingSource = BindingNavigator.BindingSource = BindingSourceBindingSource
WinForms
WinForms
![Page 49: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/49.jpg)
Cómo se conecta todoCómo se conecta todo
Bin
din
gS
ou
rce
Bin
din
gS
ou
rce
Dat
aSet
Dat
aSet
Dat
aTab
leD
ataT
able
DataSourceDataSource
DataMemberDataMember
Control Control SimpleSimple
Control Control ComplejoComplejo
Co
lum
na
Co
lum
naDataBindingDataBinding
PropiedadPropiedad
Cambia los Cambia los contenidos de contenidos de los controles los controles
via via
navegaciónnavegación, , mantenimientomantenimientoB
ind
ing
Nav
igat
or
Bin
din
gN
avig
ato
r
BindingSourceBindingSource
DataSourceDataSource
WinForms
WinForms
![Page 50: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/50.jpg)
Escenarios Master-DetailEscenarios Master-Detail
Binding hacia child rowsBinding hacia child rows Uso de Typed DataSet Uso de Typed DataSet
Relations/Foreign Keys como fuentes Relations/Foreign Keys como fuentes de datosde datos
Técnicas drag & drop de precisiónTécnicas drag & drop de precisión
WinForms
WinForms
![Page 51: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/51.jpg)
Binding de objetosBinding de objetos
Binding a objetos simplesBinding a objetos simples Binding a BindingList<t>Binding a BindingList<t> Escenarios AllowNew: Eventos Escenarios AllowNew: Eventos
AddingNew en BindingSource y AddingNew en BindingSource y BindingList<t>BindingList<t>
Soporte para master-detail bindingSoporte para master-detail binding
WinForms
WinForms
![Page 52: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/52.jpg)
ResumenResumen
Conceptos generales sobre WinForms Conceptos generales sobre WinForms 2.02.0
ControlesControles Vinculación con datosVinculación con datos
WinForms
WinForms
![Page 53: Clase x](https://reader034.vdocument.in/reader034/viewer/2022042522/55a05fef1a28ab372e8b46ed/html5/thumbnails/53.jpg)
LaboratorioLaboratorio•WinFormsWinForms