我的winforms应用程序渲染非常不稳定。是否有一种技术可用于在屏幕上绘制表格,或者在布局处理之前隐藏它?任何有助于加快表格视觉负荷的东西。
感谢您的帮助。
编辑:
表单每个都有几个网格,大约20到30个附加控件(文本框/复选框)。所有控件都是第三方,我自己也不做任何自定义绘画。
答案 0 :(得分:9)
你的表单上有太多的控件,你很危险。你会看到每个控件轮流绘画本身。双缓冲无法解决这个问题,所有控制窗口的整个表单都必须是双缓冲的。这是可能的,因为XP,它支持WS_EX_COMPOSITED窗口样式标志。它不会加速绘画,但在完成所有渲染之前屏幕不会更新。
将此代码粘贴到表单中以启用它:
protected override CreateParams CreateParams {
get {
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}
答案 1 :(得分:1)
您可以拨打SuspendLayout
,然后再拨打ResumeLayout
。