ListView
컨트롤이있는 Windows Form 응용 프로그램이 있습니다. 하나의 하위 항목의 forecolor를 변경하고 싶습니다. 전체 행이나 열의 색상을 변경할 수는 있었지만 하나의 하위 항목에 대해이 작업을 수행하는 방법을 찾지 못했습니다. 누구든지이 일을 할 수있는 방법을 알고 있습니까?ListView 컨트롤에서 단일 하위 항목의 ForeColor를 변경하려면 어떻게해야합니까?
21
A
답변
46
이 솔루션은 매우 간단하고 ListViewSubItem.ForeColor
property에 대한 설명서의 설명 부분에 표시됩니다 : 하위 항목을 소유 ListViewItem
의 UseItemStyleForSubItems
속성이 true로 설정되어있는 경우
효과 없음.
은 기본 설정은 당신은 단지 한 곳에서 속성을 변경해야합니다 있도록 ListView
컨트롤의 항목 하나가 소유 한 모든 하위 항목에 대한 일관된 모양을 유지하기위한 것입니다. 기본 동작을 변경하려면 ListViewItem
의 UseItemStyleForSubItems
property을 "거짓"으로 설정해야합니다.
일단 작업을 완료하면 개별 하위 항목의 ForeColor
(또는 기타) 속성을 조정할 수 있습니다. 예 :
myListView.Items[0].UseItemStyleForSubItems = false;
myListView.Items[0].SubItems[1].ForeColor = Color.Red;
1
다음은 다중 클라이언트 SCCM 푸시/제거 결과를 보여주는 방법입니다. 전달 된 CSV는 (문자열 ClientName, 문자열 PackageName, 문자열 EventType, bool 결과) 이었지만, 가장 긴 필드 인 Package Name을 마지막으로 표시하고 성공/실패 색상을 더 쉽게 볼 수있는 결과를 얻고 싶었습니다.
private void MultiClientResultForm_Load(object sender, EventArgs e)
{
foreach (string token in Main.ClientListResults)
{
string[] ResultRecord = token.Split(new string[] { "," }, StringSplitOptions.None);
if (ResultRecord[0] != "")
{
ListViewItem row = new ListViewItem(ResultRecord[0]);
row.SubItems.Add(new ListViewItem.ListViewSubItem(row, ResultRecord[2]));
if (ResultRecord[3] == "true")
{
row.SubItems.Add(new ListViewItem.ListViewSubItem(row, "Success"));
row.SubItems[2].ForeColor = Color.ForestGreen;
}
else
{
row.SubItems.Add(new ListViewItem.ListViewSubItem(row, "Fail"));
row.SubItems[2].ForeColor = Color.DarkRed;
}
row.SubItems.Add(new ListViewItem.ListViewSubItem(row, ResultRecord[3]));
row.SubItems.Add(new ListViewItem.ListViewSubItem(row, ResultRecord[1]));
listViewResults.Items.Add(row);
}
}
}
2
모든 하위 항목의 색상을 설정하고 원하는 색상으로 변경하는 것이 좋습니다.
예제 코드 :
private void btn_Add_Click(object sender, EventArgs e)
{
ListViewItem lvi = new ListViewItem();
ListViewItem.ListViewSubItem lvsi1 = new ListViewItem.ListViewSubItem();
ListViewItem.ListViewSubItem lvsi2 = new ListViewItem.ListViewSubItem();
lvi.Text = tb_Main.Text;
lvsi1.Text = tb_Sub1.Text;
lvsi2.Text = tb_Sub2.Text;
lvi.UseItemStyleForSubItems = false;
lv_List.ForeColor = Color.Black;
if (lvsi1.Text == tb_Different.Text)
{
lvsi1.ForeColor = Color.Red;
}
if (lvsi2.Text == tb_Different.Text)
{
lvsi2![enter image description here][2].ForeColor = Color.Red;
}
lv_List.Items.Add(lvi);
lvi.SubItems.Add(lvsi1);
lvi.SubItems.Add(lvsi2);
}
2
값이있는 모든 하위 항목 색상이 예제 "월요일"
public static void colorListcolor(ListView lsvMain)
{
foreach (ListViewItem lvw in lsvMain.Items)
{
lvw.UseItemStyleForSubItems = false;
for (int i = 0; i < lsvMain.Columns.Count; i++)
{
if (lvw.SubItems[i].Text.ToString() == "Monday")
{
lvw.SubItems[i].BackColor = Color.Red;
lvw.SubItems[i].ForeColor = Color.White;
}
else {
lvw.SubItems[i].BackColor = Color.White;
lvw.SubItems[i].ForeColor = Color.Black;
}
}
}
}[![Screenshot of the result from the code above][1]][1]
관련 문제
- 1. ListView 콜백 검색 하위 항목의 문제점은 무엇입니까?
- 2. ListView 항목의 모달 팝업
- 3. joomla - 링크의 하위 디렉토리를 변경하려면 어떻게해야합니까?
- 4. 사이트 코어 템플릿 또는 항목의 레이아웃을 설정하거나 변경하려면 어떻게해야합니까?
- 5. TFS 2008 : 작업 항목의 기본 상태를 변경하려면 어떻게해야합니까?
- 6. ASP.NET TreeView 컨트롤에서 필드의 기본 할당을 변경하려면 어떻게해야합니까?
- 7. ListView 항목의 사용자 지정 수신기
- 8. ListView 삽입 된 항목의 인덱스
- 9. ListView 컨트롤에서 데이터 테이블 표시
- 10. ListView 컨트롤에서 데이터를 다시 얻으려면
- 11. 내 ListView 컨트롤에서 클릭 한 항목의 인덱스를 가져 오는 방법이 있습니까?
- 12. ListView 컨트롤에서 애니메이션 이미지를 표시하는 방법
- 13. ListView 컨트롤에서 DataList의 EditItemIndex와 동일한 기능은 무엇입니까?
- 14. ListView 컨트롤에서 어떤 업데이트 논리를 사용합니까?
- 15. 하위 항목의 ContextMenu 스타일 설정
- 16. Seaside에서 단일 요소 경로를 처리하는 방법을 변경하려면 어떻게해야합니까?
- 17. ListView 및 TextView 하위 클래스
- 18. NSPopUpButton에서 NSMenuItem의 짧은 표시 형식을 변경하려면 어떻게해야합니까?
- 19. C# ListView 하위 항목
- 20. 일관성없는 listview 하위 속성
- 21. android ListView 하위 애니메이션
- 22. 다른 onClick 메서드 컨트롤에서 ListView 컨트롤에 액세스하기
- 23. JComboBox의 UI를 변경하려면 어떻게해야합니까?
- 24. 컨트롤의 불투명도를 변경하려면 어떻게해야합니까?
- 25. UIImage의 채도를 변경하려면 어떻게해야합니까?
- 26. 스레드에서 변수를 변경하려면 어떻게해야합니까?
- 27. 동적으로 Textview를 변경하려면 어떻게해야합니까?
- 28. 초기로드 이미지를 변경하려면 어떻게해야합니까?
- 29. mod_python의 버전을 변경하려면 어떻게해야합니까?
- 30. 임시 테이블을 변경하려면 어떻게해야합니까?