Listview flickering problem

J

John Lee

Thanks Jay for your response.

I tried your code and it still flickering a lot. To demonstrate it, you can
grab a listview, create 3 columns - name, value, timestamp, in form_load
event to add 50 items into that listview as Item1 - Item49, add a timer to
your windows form, set the timer interval to 100 ms, in the event handler,
add the code to update the value and timestamp

Random r = new Random();
listView1.BeginUpdate();
for (int i = 0; i < 50; i++)
{
listView1.Items.SubItems[1] = r.Next(0, 10000).ToString();
listView1.Items.SubItems[2] = DateTime.Now().ToLongTimeString();
}
listView1.EndUpdate();

Anyone could make the flickering goes away would be my star!!!! or any other
solution to this fast updating problem?

Thanks in advance!
John
 
G

Guest

You can do a SuspendLayout > Fill the ListView > ResumeLayout()

HTH
Sudhakar Sadasivuni
http://weblogs.asp.net/ssadasivuni
MyUG : http://www.mugh.net


John Lee said:
Thanks Jay for your response.

I tried your code and it still flickering a lot. To demonstrate it, you can
grab a listview, create 3 columns - name, value, timestamp, in form_load
event to add 50 items into that listview as Item1 - Item49, add a timer to
your windows form, set the timer interval to 100 ms, in the event handler,
add the code to update the value and timestamp

Random r = new Random();
listView1.BeginUpdate();
for (int i = 0; i < 50; i++)
{
listView1.Items.SubItems[1] = r.Next(0, 10000).ToString();
listView1.Items.SubItems[2] = DateTime.Now().ToLongTimeString();
}
listView1.EndUpdate();

Anyone could make the flickering goes away would be my star!!!! or any other
solution to this fast updating problem?

Thanks in advance!
John


Jay said:
use following code in the contructor.

// set control styles
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);

regards

Jay
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top