DataGridView 혹은 ListView 등의 컨트롤에 데이터를 실시간으로 지속적으로 추가하는 경우 깜빡임 현상이 심해지는 컨트롤들이 존재합니다.
이러한 증상이 나타나는 경우, 모듈에 아래 함수를 하나 생성한 후 객체를 설정하신 후 이용하시면 깜빡임이 현저히 감소하는 것을 확인하실 수 있습니다.
흔히 “이중 버퍼링 (Double Buffering)” 혹은 “리-드로잉 (Re-Drawing)” 이라고도 불리죠.
Imports System.Reflection
Public Sub SetDoubleBuffered(ctrl As Control, settings As Boolean)
Dim dgvType As Type = ctrl.GetType()
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
pi.SetValue(ctrl, settings, Nothing)
End Sub
함수를 선언하시고
Call SetDoubleBuffered([깜빡이 현상을 제거할 Form 내의 객체 이름], True)
이렇게 하시면 특정 객체에 대한 깜빡임을 현저히 감소시킬 수 있습니다.
오늘도 활기찬 하루 보내세요!
고맙습니다.
