본문 바로가기
C#

26# Winform ListView Focus 잃었을 때도 선택 고정

by NaHyungMin 2019. 10. 25.

ListView를 사용할 일이 생겼는데, 포커스를 잃었을 때 선택 내용이 너무 눈에 띄지 않는다.

그러다가 양형 코드를 찾아봤는데 뭔가 흠... 한국 사이트 코드를 찾았을땐 이건 아닌거 같아서 대충 만들어 봤다.

누군가에겐 도움이 되길.

 

private void ListView_LostFocus(object sender, EventArgs e)

{

    ListView listView = sender as ListView;

    listViewLastIndex = listView.FocusedItem.Index;

 

    for (int i = 0; i < listView.Items.Count; i++)

    {

        listView.Items[i].BackColor = SystemColors.Window;

        listView.Items[i].ForeColor = SystemColors.WindowText;

    }

 

    if (listView.FocusedItem != null)

    {

        listView.FocusedItem.BackColor = SystemColors.Highlight;

        listView.FocusedItem.ForeColor = SystemColors.HighlightText;

    }

}

        

 

private void ListView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)

{

    if(listViewLastIndex > -1)

    {

        ListView listView = sender as ListView;

 

        listView.Items[listViewLastIndex].BackColor = SystemColors.Window;

        listView.Items[listViewLastIndex].ForeColor = SystemColors.WindowText;

 

        if (listView.FocusedItem != null)

        {

            listView.FocusedItem.BackColor = SystemColors.Highlight;

            listView.FocusedItem.ForeColor = SystemColors.HighlightText;

            listViewLastIndex = listView.FocusedItem.Index;

        }

    }

}

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

27# C# RestSharp 사용해서 restapi 샘플데이터 만들기  (0) 2020.08.06
25# 비트 연산  (0) 2019.10.11
24# 서버와 접속 중일 때 자신 포트 찾기  (0) 2019.10.03
23# RSACryptoServiceProvider  (0) 2019.10.01
22# CQRS  (0) 2019.08.09