이벤트(C# 프로그래밍 가이드)Events (C# Programming Guide)

클래스 나 개체에서는 특정 상황이 발생할 때 이벤트를 통해 다른 클래스나 개체에 이를 알려줄 수 있습니다.Events enable a class or object to notify other classes or objects when something of interest occurs. 이벤트를 보내거나 발생시키는클래스를 게시자 라고 하며 이벤트를 받거나 처리하는클래스를 구독자라고 합니다.The class that sends (or raises) the event is called the publisher and the classes that receive (or handle) the event are called subscribers.

일반적인 C# Windows Forms 또는 웹 애플리케이션, 단추 및 목록 상자 같은 컨트롤에 의해 발생하는 이벤트를 구독합니다.In a typical C# Windows Forms or Web application, you subscribe to events raised by controls such as buttons and list boxes. 컨트롤이 게시하는 이벤트를 찾아보고 처리할 이벤트를 선택하려면 Visual C# IDE(통합 개발 환경)를 사용할 수 있습니다.You can use the Visual C# integrated development environment (IDE) to browse the events that a control publishes and select the ones that you want to handle. IDE는 빈 이벤트 처리기 메서드 및 이벤트를 구독하기 위한 코드를 자동으로 추가하는 편리한 방법을 제공합니다.The IDE provides an easy way to automatically add an empty event handler method and the code to subscribe to the event. 자세한 내용은 방법: 이벤트 구독 및 구독 취소를 참조하세요.For more information, see How to: Subscribe to and Unsubscribe from Events.

이벤트 개요Events Overview

이벤트에는 다음과 같은 속성이 있습니다.Events have the following properties:

  • 게시자는 이벤트 발생 시기를 결정합니다. 구독자는 이벤트에 대한 응답으로 수행할 작업을 결정합니다.The publisher determines when an event is raised; the subscribers determine what action is taken in response to the event.

  • 한 이벤트에는 여러 구독자가 있을 수 있습니다.An event can have multiple subscribers. 구독자는 여러 게시자의 여러 이벤트를 처리할 수 있습니다.A subscriber can handle multiple events from multiple publishers.

  • 구독자가 없는 이벤트는 발생하지 않습니다.Events that have no subscribers are never raised.

  • 이벤트는 일반적으로 그래픽 사용자 인터페이스에서 단추 클릭이나 메뉴 선택 같은 사용자 작업을 표시하는 데 사용됩니다.Events are typically used to signal user actions such as button clicks or menu selections in graphical user interfaces.

  • 이벤트에 여러 구독자가 있는 경우 이벤트 처리기는 이벤트가 발생할 때 동기적으로 호출됩니다.When an event has multiple subscribers, the event handlers are invoked synchronously when an event is raised. 이벤트를 비동기적으로 호출하려면 Calling Synchronous Methods Asynchronously를 참조하세요.To invoke events asynchronously, see Calling Synchronous Methods Asynchronously.

  • .NET Framework 클래스 라이브러리에서 이벤트는 EventHandler 대리자 및 EventArgs 기본 클래스를 기반으로 합니다.In the .NET Framework class library, events are based on the EventHandler delegate and the EventArgs base class.

자세한 내용은 다음을 참조하세요.For more information, see:

C# 언어 사양C# Language Specification

자세한 내용은 C# 언어 사양이벤트를 참조하세요.For more information, see Events in the C# Language Specification. 언어 사양은 C# 구문 및 사용법에 대 한 신뢰할 수 있는 소스 됩니다.The language specification is the definitive source for C# syntax and usage.

대리자, Events, and Lambda Expressions C# 3.0 Cookbook, Third Edition: 250 개 이상의 솔루션에 대 한 C# 3.0 프로그래머Delegates, Events, and Lambda Expressions in C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers

대리자 및 이벤트학습 C# 3.0. 기본 사항 마스터 C# 3.0Delegates and Events in Learning C# 3.0: Master the fundamentals of C# 3.0

참고 항목See also