防止窗体闪烁的代码
#region 防止窗体跳转闪烁
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
#endregion
该代码会对重绘的控件有一定影响,比如控件会出现黑边等状况
窗体双缓冲的代码
#region 双缓冲防止窗体闪烁
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
#endregion
该代码目前测试不影响控件的使用
文章提供了两种方法来防止窗体在重绘时出现闪烁。一种是通过设置控件的扩展样式来防止窗体跳转闪烁,但可能会导致控件边缘出现黑边。另一种是启用窗体的双缓冲机制,包括设置ControlStyles,这种方法在测试中对控件的影响较小。
1643

被折叠的 条评论
为什么被折叠?



