События (Руководство по программированию в 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#)
Основные понятия
Руководство по программированию на C#
Другие ресурсы
Создание обработчиков событий в Windows Forms
Многопоточное программирование с использованием асинхронной модели, основанной на событиях