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 |