티스토리 뷰

목차

    반응형

    c# listview 깜박임 해결 방법입니다. 리스트뷰 깜빡임 현상은 화면 갱신할 때 발생하는데요. Items, Item.SubItems를 편집할 때 발생합니다.


    해결 방법은 아주 간단합니다. 클래스를 하나 추가하고 리스트뷰에 더블버퍼링 적용하면 됩니다.


    일단, 아래 클래스를 편한 곳에 삽입하세요. 프로젝트 클래스에 추가하는 겁니다.



    c# 리스트뷰 깜박임.txt


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static class Extensions // 리스트뷰 깜박임 제거
    {
        public static void DoubleBuffered(this Control control, bool enabled)
        {
            var prop = control.GetType().GetProperty(
                "DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
     
            prop.SetValue(control, enabled, null);
        }
    }
    cs



    그리고 폼 load 함수에 DoubleBuffered 함수를 설정합니다(true).


    1
    2
    3
    4
    5
    6
    protected virtual bool DoubleBuffered { get; set; }
     
    private void MainForm_Load(object sender, EventArgs e)
    {
        listview.DoubleBuffered(true);
    }
    cs



    이정도면 c# listview 깜빡임 해결 됩니다.


    C# Listview 화면 갱신 시 발생하는 깜박임 전체 소스 코드는 위에 있는 txt 파일입니다. 참고하세요.


    관련 글

    C# ListBox 리스트박스 사용 예제 (DB 바운딩, List 응용 등)

    C# 파일과 폴더, 드래그 앤 드롭 예제 (마우스 Drag Listview)

    반응형