Partilhar via


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.

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#.

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

Ver também