Connecting Tech Pros Worldwide Forums | Help | Site Map

Listview update flickering problem

John Lee
Guest
 
Posts: n/a
#1: Nov 16 '05
Hi,

I have a windows application that uses the listview to display about 50
items in detailed view - 4 columns. The first column is static and other
columns will be updated in 100-1000ms - it looks awful when it's running -
flickering too much!!!

Anyone know how to solve this flickering problem? or how should I deal with
this issue? I see some other C++ app can display more than 100 items without
any flickering in such as speed. Can we achieve the same effect in C#?

Thanks a lot!

John



Jay
Guest
 
Posts: n/a
#2: Nov 16 '05

re: Listview update flickering problem


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


"John Lee" <john.nospam@pursca.com> wrote in message
news:#R4NIQT0EHA.1292@TK2MSFTNGP10.phx.gbl...[color=blue]
> Hi,
>
> I have a windows application that uses the listview to display about 50
> items in detailed view - 4 columns. The first column is static and other
> columns will be updated in 100-1000ms - it looks awful when it's running -
> flickering too much!!!
>
> Anyone know how to solve this flickering problem? or how should I deal[/color]
with[color=blue]
> this issue? I see some other C++ app can display more than 100 items[/color]
without[color=blue]
> any flickering in such as speed. Can we achieve the same effect in C#?
>
> Thanks a lot!
>
> John
>
>[/color]


John Lee
Guest
 
Posts: n/a
#3: Nov 16 '05

re: Listview update flickering problem


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[i].SubItems[1] = r.Next(0, 10000).ToString();
listView1.Items[i].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" <jayonline@gmail.com> wrote in message
news:udU70zU0EHA.2568@TK2MSFTNGP11.phx.gbl...[color=blue]
> 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
>
>
> "John Lee" <john.nospam@pursca.com> wrote in message
> news:#R4NIQT0EHA.1292@TK2MSFTNGP10.phx.gbl...[color=green]
>> Hi,
>>
>> I have a windows application that uses the listview to display about 50
>> items in detailed view - 4 columns. The first column is static and other
>> columns will be updated in 100-1000ms - it looks awful when it's
>> running -
>> flickering too much!!!
>>
>> Anyone know how to solve this flickering problem? or how should I deal[/color]
> with[color=green]
>> this issue? I see some other C++ app can display more than 100 items[/color]
> without[color=green]
>> any flickering in such as speed. Can we achieve the same effect in C#?
>>
>> Thanks a lot!
>>
>> John
>>
>>[/color]
>
>[/color]


Closed Thread