События (Руководство по программированию в C#)

События позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций.Класс, отправляющий (или вызывающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками.

В C# в стандартном приложении Windows Forms или веб-приложении пользователь подписывается на события, вызываемые элементами управления, такими как кнопки и поля со списками.Для просмотра событий, публикуемых элементом управления, и выбора некоторых из них для обработки можно воспользоваться средой IDE Visual C#.IDE автоматически добавит пустой метод обработчика событий и код, необходимый для подписки на событие.Дополнительные сведения см. в разделе Практическое руководство. Подписка и отмена подписки на события (Руководство по программированию в C#).

Общие сведения о событиях

События имеют следующие свойства.

  • Издатель определяет момент вызова события, подписчики определяют предпринятое ответное действие.

  • У события может быть несколько подписчиков.Подписчик может обрабатывать несколько событий от нескольких издателей.

  • События, не имеющие подписчиков, никогда не возникают.

  • Обычно события используются для оповещения о действиях пользователя, таких как нажатия кнопок или выбор меню и их пунктов в графическом пользовательском интерфейсе.

  • Если событие имеет несколько подписчиков, то при его возникновении происходит синхронный вызов обработчиков событий.Сведения об асинхронном вызове событий см. в разделе Асинхронный вызов синхронных методов.

  • В библиотеке классов .NET Framework в основе событий лежит делегат EventHandler и базовый класс EventArgs.

Связанные разделы

Дополнительные сведения см. в следующих разделах.

Спецификация языка C#

Дополнительные сведения см в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.

Главы в популярных книгах

Delegates, Events, and Lambda Expressions в книге C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

Delegates and Events в книге Learning C# 3.0: Master the fundamentals of C# 3.0

См. также

Ссылки

Делегаты (Руководство по программированию на C#)

EventHandler

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Создание обработчиков событий в Windows Forms

Многопоточное программирование с использованием асинхронной модели, основанной на событиях