Winform使用TabControl切换标签页时出现延迟或闪频
程序员文章站
2022-03-04 11:50:50
...
在用C#开发WinForm程序时,常发现TabControl出现严重的闪烁问题,这主要是由于TabControl控件在实现时会绘制默认的窗口背景。其实以下一段简单的代码可以有效的缓解该问题的发生。
public DTZCKControl()
{
InitializeComponent();
//设置控件风格
SetStyle(
ControlStyles.AllPaintingInWmPaint | //全部在窗口绘制消息中绘图
ControlStyles.OptimizedDoubleBuffer, //使用双缓冲
true);
//this.allenPage1.PageIndexChanged += new Allen.Page.AllenPage.EventHandler(this.allenPage1_PageIndexChanged);
}
#region 让TabControl不再闪烁
///<summary>
/// 设置控件窗口创建参数的扩展风格
///</summary>
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
#endregion