| re: how to avoid flickering in listview?
should i give up on this?
I got tons of samples on the web using lockwindowupdate, setstyle and other
wonderful stuff like handleing WM_PAINT and erasebg... nothing worked.
Anyone has a code that would make something as simple as this on a listview
work without flickering?
foreach (ListViewItem aux in listView1.Items)
{
aux.SubItems[3].Text="some changing text here";
}
looks simple? well... i found 250 posts from people with similar problems
and no one single one answered right :(
I guess the right solution would be using
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint, true);
and drawing all the list items manually, but I have no idea how to do this.
Any code would be greatly appreciated.
Joaquin Grech
"Joaquin Grech" <creative1@bigfoot.com> wrote in message
news:uVYNdYvoDHA.2512@TK2MSFTNGP09.phx.gbl...[color=blue]
> Hi
>
> I did alot of research on this on the web and msdn and I couldn't find
> anything.
>
> I have a listview showing as a grid (table looking, with rows and columns
> and no images at all, only text). I get the information to display on the
> listview from the network and I add items often and stuff.
>
> But more than adding items, what worries me is the step of modifying[/color]
items.[color=blue]
> I change the text of one of the columns for every row every 2 seconds.
> Something like: "Time to next update: X seconds"
> and that text changes every 2 seconds.
>
> Every time i change the text, the item flickers. When I have 50 rows the
> screen looks like a discoteque so it is not good.
>
> I found lot of examples on avoiding flickering but most of them don't[/color]
work,[color=blue]
> are not correctly implemented or are thought for other
> circunstances/controls.
>
> I found that I could extend the listview control and add this to my
> constructor:
> this.SetStyle(ControlStyles.DoubleBuffer |
>
> ControlStyles.UserPaint |
>
> ControlStyles.AllPaintingInWmPaint,
>
> true);
>
> this.UpdateStyles();
>
>
>
> that should enable double buffering, but i don't know how to draw the[/color]
items[color=blue]
> manually from there.
>
>
>
> Any help would be greatly appreciated.
>
>
>
> Joaquin Grech
>
>
>
>[/color] |