본문으로 바로가기

ComBox의 활용

category Development/C# 2010.07.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
ComBox의 활용  (0) 2010.07.21
정규표현식  (0) 2010.07.21
세계기준시간(UTC) 편차  (0) 2010.07.21
비주얼스타일과 텍스트 랜더링 설정  (0) 2010.07.21

댓글을 달아 주세요