【发布时间】:2020-03-31 17:13:47
【问题描述】:
我有一个 flowLayoutPanel 有一些项目 .. 这些项目是我创建的自定义用户控件。 当我 scorll 时,这些项目会闪烁。
所以我创建了自定义 FLP 并将这段代码放入它的构造函数中:
this.SetStyle(
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |
ControlStyles.DoubleBuffer, true);
但它仍然闪烁..然后我经过一番搜索找到了这段代码并添加了它:
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
闪烁问题已解决..但此代码在滚动面板中导致一些性能问题..它变慢并且用户体验不佳:(
谁能帮忙解决这个问题??
【问题讨论】:
-
UserControl不应该有DoubleBuffer吗?
-
它有..但没有做任何事情:)
-
闪烁的是什么?用户控件?更好地记录这一点。
标签: c# winforms flicker tablelayoutpanel flowlayoutpanel