3.1.1 ColorChangeEventArgs 정의
먼저 Windows Forms 응용 프로그램을 만드세요. 그리고 ColorChangeEventArgs 클래스를 추가하세요.
먼저 대리자 COLOR_ELEM을 정의하세요. COLOR_ELEM에는 RED, GREEN, BLUE, 전체 색상을 구분하기 위한 값들을 열거합니다.
public enum COLOR_ELEM{ CE_RED, CE_GREEN, CE_BLUE, CE_ALL }
이벤트의 인자는 EventArgs의 파생 클래스로 작성하는 것을 권장합니다.
public class ColorChangeEventArgs:EventArgs
{
이벤트의 인자는 이벤트 핸들러에서 사용할 인자들을 속성으로 제공하여 편의성을 높여줍니다. 여기에서는 Red,Green,Blue, Color, 변경한 색상을 제공합시다.
public int Red
{
get;
private set;
}
public int Green
{
get;
private set;
}
public int Blue
{
get;
private set;
}
public Color Color
{
get
{
return Color.FromArgb(Red, Green, Blue);
}
}
public COLOR_ELEM ChangeElem
{
get;
private set;
}
생성자에서는 필요한 인자(색상, 변경한 색)를 전달받아 속성을 설정합니다.
public ColorChangeEventArgs(int r, int g, int b, COLOR_ELEM ce)
{
Red = r;
Green = g;
Blue = b;
ChangeElem = ce;
}
그리고 이벤트 핸들러 ColorChangeEventHandler를 대리자로 정의합니다. 대부분의 이벤트 핸들러는 첫번째 인자는 이벤트를 발생한 개체를 전달하고 두번째 인자는 이벤트 핸들러에서 필요한 이벤트 인자를 전달하게 구현합니다.
public delegate void ColorChangeEventHandler(object sender, ColorChangeEventArgs e);
▷ColorChangeEventArgs.cs
using System; using System.Drawing; namespace Ex_사용자_정의_컨트롤 { public enum COLOR_ELEM{ CE_RED, CE_GREEN, CE_BLUE, CE_ALL } public class ColorChangeEventArgs:EventArgs { public int Red { get; private set; } public int Green { get; private set; } public int Blue { get; private set; } public Color Color { get { return Color.FromArgb(Red, Green, Blue); } } public COLOR_ELEM ChangeElem { get; private set; } public ColorChangeEventArgs(int r, int g, int b, COLOR_ELEM ce) { Red = r; Green = g; Blue = b; ChangeElem = ce; } } public delegate void ColorChangeEventHandler(object sender, ColorChangeEventArgs e); } |
'프로그래밍 기술 > Windows Form 응용 프로그램' 카테고리의 다른 글
4.3 엔진 개발 [Windows Forms 응용 프로그램] (0) | 2016.04.06 |
---|---|
4. 폼과 폼 사이에 상호 작용 [Windows Forms 응용 프로그램] (3) | 2016.04.06 |
3. 2 실습: 다른 프로젝트에서 만든 컨트롤 사용하기 [Windows Forms 응용 프로그램] (0) | 2016.04.06 |
3.1.3 Form1 구현 [Windows Forms 응용 프로그램] (0) | 2016.04.06 |
3.1.2 ColorSelectControl 정의 [Windows Forms 응용 프로그램] (0) | 2016.04.06 |
3. 사용자 정의 컨트롤 [Windows Forms 응용 프로그램] (0) | 2016.04.06 |
TreeView 실습 [Windows Forms 응용 프로그램] (2) | 2016.04.05 |
ListView 실습 [Windows Forms 응용 프로그램] (0) | 2016.04.05 |
ComboBox, ListBox, CheckListBox 실습 [Windows Forms 실습] (0) | 2016.04.05 |
CheckBox와 RadioButton 사용 실습 [Windows Forms 응용 프로그램] (0) | 2016.04.05 |