본문으로 바로가기

ComBox의 활용

category Development/C# 2010. 7. 21. 13:08

1. 먼저, 콤보박스의 DrawMode속성을 OwnerDrawFixed로 바꿉니다.

2. 콤보박스의 comboBox3_DrawItem이벤트 핸들러를 등록합니다.

3. 그 이벤트에 아래와 같이 구현합니다.

if ( e.Index < 0) return;

Brush brush = Brushes.Black;
string str = comboBox3.Items[e.Index].ToString();

// 해당 데이터를 검사합니다. (검사하는 방식은 상황에 맞게 적절하게 조정하세요)
if (str.IndexOf("토요일") != -1)
{
   brush = Brushes.Blue;                                
}
else if (str.IndexOf("일요일") != -1)
{
   brush = Brushes.Red;
}

if ( (e.State & DrawItemState.Selected) == DrawItemState.Selected )
   brush = Brushes.White; // 선택되어있는 항목의 경우, 글자색을 하얀색으로 한다.

// 배경색을 칠해준다.
e.DrawBackground();

// Item의 글자를 그려준다.
e.Graphics.DrawString(str, comboBox3.Font, brush, e.Bounds);

// 포커스 사각형을 그려준다.
e.DrawFocusRectangle();

'Development > C#' 카테고리의 다른 글

폼안의 모든 컨트롤 접근하기  (0) 2010.07.21
텍스트에 숫자만 입력 가능하게  (0) 2010.07.21
정규표현식  (0) 2010.07.21
세계기준시간(UTC) 편차  (0) 2010.07.21
비주얼스타일과 텍스트 랜더링 설정  (0) 2010.07.21