'event handler'에 해당되는 글 1건

  1. 2009.04.14 [C#] 각종 컴포넌트에 이벤트 핸들러 등록하기

[C#] 각종 컴포넌트에 이벤트 핸들러 등록하기

.Net Compact Framework 2009. 4. 14. 00:13
Java만 해 봤던 나로써는 C#에서의 이벤트 처리 방법은 조금 특이해 보인다.
마치 함수포인터를 넘기는 방법이랄까?

C#에서는 다음과 같은 방법으로 이벤트 핸들러를 등록할 수 있다.
예를들어 Form(Frame, Window)라는게 있는데, 이 놈이 Load 될때에 이벤트가 발생하게 된다.

그렇다면 Load 이벤트가 발생했을때 어떠한 코드를 수행하게 해 주어야 하는데, 이것이 바로 이벤트 핸들러이다.
이 놈들을 잡아 내려면 다음과 같은 방법으로 하면 된다.


이벤트 핸들러를 만들때 어떠한 메소드에서 해당 이벤트를 처리할지를 정해 놓고, 그 놈을 이벤트 핸들러로 등록한다.
위의 코드라면 Form이 Load되는 이벤트가 발생할때 Form1_Load 메소드가 호출되게 되어진다.

만약 이벤트 핸들러를 제거하고자한다면 -= 을 사용하면 된다.

정확하게 말하면 메소드의 포인터를 넘긴다는 말 보다는 델리게이트(위임) 시킨다는게 더 맞는 말이다.
: