Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Double Buffered List View

0.00/5 (No votes)
17 Jan 2014 1  
Double Buffer a List View Control to eliminate all flickering associated with it.

Introduction

There's a simple way to double buffer a list view control to eliminate any flickering when adding data or images to the List View.

Background

List View Control

Using the Code

When using a List View, set your main form to double buffered and create a new class called ListViewDoubleBuffered. In this class, you'll set your inherited List View to be Double Buffered. You can't set Double Buffering on the List View control when dragging and dropping the control to the form. You have to program the control yourself in code then add it to your form.

The code for your new class should look like this:

Public Class ListViewDoubleBuffered
    Inherits ListView

    Public Sub New()
        Me.DoubleBuffered = True
    End Sub
End Class 

That's all there is to it. All you have to do now is create the List View using the class above and add it to the form.

Private lvListViewDoubleBuffered as New ListViewDoubleBuffered

lvListViewDoubleBuffered = New ListViewDoubleBuffered

With lvListViewDoubleBuffered
     'add any properties here
End With

Me.Controls.Add(lvListViewDoubleBuffered) 

I added over 1,200 file names to the List View in Details View and added over 3,000 images to the List View in LargeIcon View without any flickering.

Points of Interest

Flicker Free List View Control

History

  • v1.0.0.2

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here