728x90
속성에서 DrawMode 를 변경한다.
DrawItem 이벤트를 추가 한다.
public class ListBoxItemColorMessageSet
{
public ListBoxItemColorMessageSet(Color c, string m)
{
ItemColor = c;
Message = m;
}
public Color ItemColor { get; set; }
public string Message { get; set; }
}
private void listBox_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index == -1) return; //아이템이 없는 경우 는 할 일이 없습니다.
ListBoxItemColorMessageSet item = listBox.Items[e.Index] as ListBoxItemColorMessageSet;
if (item != null)
{
e.Graphics.DrawString
(item.Message, listBox.Font, new SolidBrush(item.ItemColor), 0, e.Index * listBox.ItemHeight);
}
else
{
// The item isn't a ListBoxItemColorMessageSet, do something about it
}
}
클래스를 추가하고 이벤트안에 코드를 추가한다.
listBox.Items.Add(new ListBoxItemColorMessageSet(Color.Red, "Test"));
그리고 위에 코드를 추가하면
이렇게 listBox 아이템에 색상을 추가할 수 있다.
프로그램에 적용해서 테스트하다보니 선택이 안된다...
방법을 찾아봐야겠다 후...
후...인생........
참조:
728x90
'C#' 카테고리의 다른 글
C# / 간단하게 로딩창 만들기. (0) | 2022.04.21 |
---|---|
C# / 쓰레드, 타스크, Thread, Task 내부 메소드, 함수에서 await 대기중 Thread.IsAlive, Task.iscompleted 호출시 false 나오는 이유 및 해결법 (0) | 2022.04.15 |
C# / ListBox 정렬, 리스트박스 정렬 하기 (0) | 2022.03.22 |
C# / 공백 배열, 빈 배열 제거 하기 (0) | 2022.03.22 |
C# / 시간 비교 하기, 시간 빼기, 시간 더하기, 날짜 계산, 시간 계산 (0) | 2022.01.07 |