- 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); }