Para aqueles que tem problema na atualização continua e rápida de um treeview. Segue um código que melhora o visual causado pelo flicker na atualização.

[sections] [section title=”Treeview com buffer duplo”]

class BufferedTreeView : TreeView
{
protected override void OnHandleCreated(EventArgs e)
{
SendMessage(this.Handle, TVM_SETEXTENDEDSTYLE, (IntPtr)TVS_EX_DOUBLEBUFFER, (IntPtr)TVS_EX_DOUBLEBUFFER);
base.OnHandleCreated(e);
}
// Pinvoke:
private const int TVM_SETEXTENDEDSTYLE = 0x1100 + 44;
private const int TVM_GETEXTENDEDSTYLE = 0x1100 + 45;
private const int TVS_EX_DOUBLEBUFFER = 0x0004;
[DllImport("user32.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}

[/section] [/sections]

 


Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[C#] Treeview com buffer duplo (double buffered)
Tags:                 

Deixe uma resposta

%d blogueiros gostam disto: