VB.NET DataGridView 속도개선하기 (DoubleBuffered 이용)
2020. 4. 10. 10:29ㆍVB.NET
728x90
반응형
DataGridView에 Cell Style도 넣고
Border, HeaderAutoSize 등등등 DataGridView에 많은 Style을 지정하고 나서
스크롤을 하는데 눈에 보일 듯한 정도의 버벅임이 생기더라고요 ...
이걸 해결하는 방법은 아래 사이트에 코드를 참고해서 작성하시면 되는데
Control의 Hidden Property인 DoubleBuffered를 Custom하여 Enable 할 수 있습니다.
출처 : https://www.codeproject.com/Tips/1111155/Enable-DataGridView-DoubleBuffered-Property
DataGridView를 상속한 Class 생성
Public Class DataGridViewDoubleBuffer
Inherits DataGridView
Private _dgv As DataGridView
Public Sub New(ByRef dgv As DataGridView)
_dgv = dgv
End Sub
Public Sub EnableDoubleBuffered()
Dim dgvType As Type = _dgv.[GetType]()
Dim pi As Reflection.PropertyInfo = dgvType.GetProperty("DoubleBuffered", _
Reflection.BindingFlags.Instance Or _
Reflection.BindingFlags.NonPublic)
pi.SetValue(_dgv, True, Nothing)
End Sub
End Class
사용할 때
Public Sub New()
InitializeComponent()
Dim dgvDouble As DataGridViewDoubleBuffer = New DataGridViewDoubleBuffer(DataGridView1)
dgvDouble.EnableDoubleBuffered()
End Sub
728x90
반응형
'VB.NET' 카테고리의 다른 글
<VB.NET> DataTable To DataGridView (0) | 2020.05.22 |
---|---|
VB.NET TextBox에 숫자만입력받기(실수만 입력받기, 정수만 입력받기) (0) | 2020.04.10 |
VB.NET Linq를 이용하여 DataTable에서 일치하는 항목 출력하기 (0) | 2020.04.10 |
VB.NET <TreeListView> 원하는 level 접기/펴기 (0) | 2020.04.09 |
VB.NET 버튼 애니메이션 Timer로 간단하게 하기 (Button Animation) / Timer 사용법 (0) | 2020.02.21 |