[Windows Forms 응용 with C#] 3.1 같은 프로젝트에서 사용자 정의 컨트롤 만들기

이번 장에서는 사용자 정의 컨트롤을 만들고 이를 이용하는 방법을 알아봅시다.

사용자 정의 컨트롤을 만들 때는 먼저 예광탄 형태로 하나의 Windows Forms 응용 프로그램 프로젝트에서 만들고 난 후에 테스트를 통해 신뢰성을 검증 받은 후에 라이브러리로 만드는 것이 바람직합니다.

먼저 이번 실습에서는 [그림 3.1]처럼 동작하는 Windows Forms을 만들어 봅시다.

[그림 3.1] 실행화면
[그림 3.1] 실행화면
[그림 3.2] 클래스 구성
[그림 3.2] 클래스 구성
 이번 실습하는 프로그램에서는 Form1 외에 사용자 정의 컨트롤인 ColorSelectorControl과 이벤트 처리를 위한 ColorChangeEventArgs 클래스, ColorChangeEventHandler 대리자 및 이벤트 처리 등에서 사용할 열거형 COLOR_ELEM을 작성합니다.

Form1에는 자식 컨트롤로 ColorSelectorControl을 배치할 것입니다. 그리고 자식 컨트롤에서 색상을 바꾸면 이를 Form1에 알리기 위해 이벤트를 사용할 것입니다. 이벤트는 대리자 형태로 정의한 것을 멤버로 두는 것이며 ColorChangeEventHandler 대리자롤 정의할 것입니다. 대리자와 이벤트에 관한 사항은 C# 문법에서 다루는 내용으로 여기에서는 문법적인 사항은 다루지 않습니다. (대리자와 이벤트 참고 사이트)

그리고 어느 색상을 변경하였는지 구분하기 위해 열거형 COLOR_ELEM을 정의합니다.