La ganaderia

Páginas: 13 (3102 palabras) Publicado: 31 de octubre de 2013
Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

PROGRAMACIÓN
ORIENTADA A
OBJETOS CON C# EN
LA PLATAFORMA .NET

Delegados y Eventos
César Fernández Acebal
acebal@ieee.org

Dpto. de Informática
OOTLab - Laboratorio de Tecnologías Orientadas a Objetos
OOTLab
www.ootlab.uniovi.es

Introducción
• No debemos confundir delegados y eventos
• Una cosa es el modelo de eventos de.NET
y otra los delegados
– Éstos son la forma escogida por la plataforma
para implementar su modelo de eventos
– Pero son un mecanismo genérico que puede
tener aplicaciones bien distintas
• Podemos asimilarlos a las típicas funciones callback

Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

WEB362

Delegados y eventos
César F. Acebal - OOTLab
OOTLab

1

¿Qué vamos aver?
• Comenzaremos viendo cómo manejar los eventos
predefinidos en .NET
– En concreto, trabajaremos con el evento Paint

• Una vez familiarizados, aprenderemos a definir
nuestros propios eventos
• Por el medio, se irán introduciendo los conceptos
sobre delegados que necesitamos para trabajar
con los eventos
• Por último, se estudiarán los delegados por sí
solos
– Conceptos avanzados,otros usos posibles, etc.
Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

Delegados y eventos
César F. Acebal - OOTLab
OOTLab

Eventos

Comenzaremos viendo cómo podemos
manejar los eventos predefinidos en .NET,
para entender cuál es el modelo de eventos
del CLR, basado en delegados.
delegados.
Posteriormente, veremos cómo crear y tratar
nuestros propios eventos.

WEB3622

Entrada dirigida por eventos
• Los programas de consola que necesitan
interactuar con el usuario lo hacen a través de los
métodos Read o ReadLine
– De la clase Console

• Pero los programas escritos para entornos
gráficos tienen un modelo de entrada de usuario
diferente
– Hay varios dispositivos de entrada diferentes
• Ratón y teclado

– Hay varios controles que interactúan
•Botones, menús, barras de desplazamiento…

Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

Delegados y eventos
César F. Acebal - OOTLab
OOTLab

Técnica de muestreo (serial polling)
• En teoría, podría usarse la técnica de
muestreo (polling) para controlar todos los
dispositivos:
– Se comprueba la entrada del teclado; si no hay
nada, el ratón; si no, el menú; éste mira sihay
algo en la entrada del teclado o del ratón… y
así sucesivamente
• Así es como lo hacían, por ejemplo, los programas
en modo texto (no Windows) que hacían uso del
ratón
Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

WEB362

Delegados y eventos
César F. Acebal - OOTLab
OOTLab

3

Modelo dirigido por eventos
• Tal y como se ha implementado en
Windows Forms, cada tipode entrada está
asociada a un método diferente de una
clase
• Cuando ocurre algo a la entrada, se llama al
método apropiado automáticamente

Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

Delegados y eventos
César F. Acebal - OOTLab
OOTLab

Mismo hilo de ejecución
• A primera vista, esto podría parecer caótico
• ¿No se corre el riesgo de que el programa
se vea desbordadopor muchas llamadas
simultáneas a métodos diferentes?
– No, porque todas ellas tienen lugar en el mismo
hilo de ejecución
– Sólo se atiende a un evento cuando finaliza el
procesamiento del evento anterior
• Es decir, cuando finaliza el método al que aquél dio
lugar
• No interrumpen, por tanto, la ejecución del programa
Cursos de Extensión Universitaria
UNIVERSIDAD DE OVIEDO

WEB362Delegados y eventos
César F. Acebal - OOTLab
OOTLab

4

Modelo de eventos
• Una vez que una aplicación de ventanas
hecha con Windows Forms se inicializa,
todo lo que el programa hace lo hace en
respuesta a eventos
– En vez de ejecutarse secuencialmente

• En la plataforma .NET, los eventos son
miembros de las clases
– Junto con los constructores, campos, métodos
y propiedades...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ganaderia
  • GANADERIA
  • Ganaderia
  • Ganaderia
  • La ganaderia
  • Ganaderia
  • Ganaderia
  • Ganaderia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS