Winform 控件的双缓冲. 控件的双缓冲属性是隐藏的, 可以通过反射改变其属性值.
- lv.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(lv, true, null);
- //lv 为控件名称
重绘控件的时候开启控件双缓冲.
- this.SetStyle(ControlStyles.DoubleBuffer |
- ControlStyles.UserPaint |
- ControlStyles.AllPaintingInWmPaint,
- true);
- this.UpdateStyles();
通过消息, 禁用掉清除背景的消息.(TreeView 控件实用)
- protected override void WndProc(ref Message m)
- {
- if (m.Msg == 0x0014) // 禁掉清除背景消息
- return;
- base.WndProc(ref m);
- }
来源: http://www.bubuko.com/infodetail-3433990.html