c# eventhandler 예제

.Net 프레임워크 설치에 대한 자세한 내용은 여기를 클릭하십시오. 이 문서의 예제를 다운로드합니다. 약간 더 복잡한 예는 이벤트에 마우스 이벤트에 대한 마우스 좌표 또는 키 누르기 이벤트에 대해 누른 키와 같은 정보가 전달된 경우입니다. 이렇게 하려면 EventArgs 클래스에서 파생 된 적절 한 클래스를 만든 다음 이벤트를 발생 하기 전에 인스턴스를 설정 해야 합니다. 아래 참조: 모든 구독자는 게시자가 이벤트를 발생시 호출할 처리기 함수를 제공해야 합니다. 위의 예에서 Number 클래스는 PrintHelper의 인스턴스를 만들고 “+=” 연산자로 전PrintEvent를 구독하고 이벤트를 처리할 함수의 이름을 제공합니다(게시 이벤트가 이벤트를 발생시킬 때 호출됩니다). printHelper_beforePrintEvent는 PrintHelper 클래스의 BeforePrint 대리자와 동일한 서명을 가지는 이벤트 처리기입니다. 다음, 고급 예제(SimpleDelegate2.cs)의 경우 단일 문자열 매개 변수를 사용하고 반환 형식이 없는 대리자를 선언합니다. 메서드를 가리킵니다. 그런 다음 대리자를 호출할 때마다 메서드를 호출합니다.

메서드가 값을 반환하는 경우 대리자는 값을 반환합니다. 다음은 간단한 예제입니다. 이제 구독자를 만들어 보겠습니다. 예를 들어 다음과 같은 간단한 Number 클래스를 고려하십시오. 다음은 대리자 인스턴스 생성 및 초기화의 예입니다. 따라서 키 누를 때, 마우스 움직임, 클릭 등 이벤트 와 같은 작업을 수행 할 때 발생합니다. 그것에 대해 더 명확히 하자. 예를 들어 온라인 양식을 작성하고 제출 단추를 클릭합니다.

다음 장에서는 기본 제공 대리자 및 이벤트 프로그래밍을 보다 명확하게 이해하는 데 도움이 되는 몇 가지 프로그래밍 예제를 추가했습니다. C#의 이벤트는 비슷한 개념을 따릅니다. 이벤트에게시자, 구독자, 알림 및 처리기가 있습니다. 일반적으로 UI 컨트롤은 이벤트를 광범위하게 사용합니다. 예를 들어 Windows 양식의 단추 컨트롤에는 클릭, 마우스 오버 등과 같은 여러 이벤트가 있습니다. 사용자 지정 클래스에는 다른 구독자 클래스에 발생한 일또는 발생할 일에 대해 알리는 이벤트가 있을 수도 있습니다. 이벤트를 정의하고 이벤트 처리기가 있는 다른 클래스에 알리는 방법을 살펴보겠습니다. C# 이벤트 및 대리자의 대부분의 예는 C# 및 OOP모두에 익숙하지 않은 사람보다 더 복잡하고 위협적입니다(VBA는 우리에게 너무 쉽게 만들었습니다).

カテゴリー未分類