VB :: Lecture & TIPs

[VB.NET] DataGridView, ListView에 데이터 추가 시 깜빡임 방지하기

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)

 

이렇게 하시면 특정 객체에 대한 깜빡임을 현저히 감소시킬 수 있습니다.

오늘도 활기찬 하루 보내세요!

고맙습니다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: