Eventos (C# Guia de Programação)
Os eventos permitem que uma classe ou objeto notifique outras classes ou objetos quando algo de interesse ocorre. A classe que envia (ou aumenta) o evento é chamada de editora e as classes que recebem (ou manuseiam) o evento são chamados de assinantes.
Numa aplicação típica de C# Windows Forms ou Web, subscreve eventos levantados por controlos como botões e caixas de lista. Pode utilizar o ambiente de desenvolvimento integrado Visual C# (IDE) para navegar nos eventos que um controlo publica e selecionar os que pretende manusear. O IDE fornece uma maneira fácil de adicionar automaticamente um método de manipulador de eventos vazio e o código para subscrever o evento. Para mais informações, consulte Como subscrever e cancelar a subscrição de eventos.
Visão geral dos eventos
Os eventos têm as seguintes propriedades:
O editor determina quando um evento é levantado; os assinantes determinam que medidas são tomadas em resposta ao evento.
Um evento pode ter vários subscritores. Um assinante pode lidar com vários eventos de várias editoras.
Os eventos que não têm assinantes nunca são levantados.
Os eventos são normalmente utilizados para sinalizar ações do utilizador, tais como cliques de botões ou seleções de menus em interfaces gráficas do utilizador.
Quando um evento tem vários subscritores, os manipuladores de eventos são invocados sincronizadamente quando um evento é levantado. Para invocar eventos assíncronos, consulte Chamando Métodos Sincronizados Assíncronos assíncronos.
Na biblioteca da classe .NET, os eventos são baseados no EventHandler delegado e na EventArgs classe base.
Secções Relacionadas
Para obter mais informações, consulte:
Especificação linguística C#
Para mais informações, consulte Eventos na Especificação de Idioma C. A especificação linguística é a fonte definitiva para a sintaxe e utilização C#.
Capítulos do Livro Em Destaque
Delegados, Eventos e Expressões Lambda em C# 3.0 Livro de receitas, Terceira Edição: Mais de 250 soluções para programadores C# 3.0
Delegados e Eventos em Aprendizagem C# 3.0: Fundamentos de C# 3.0