4

我每隔几秒钟就清除多个 LinkLabel 并将其添加到 FlowLayoutPanel。它工作正常,但闪烁非常明显。有什么办法可以减少吗?我尝试设置 Form.DoubleBuffering,但没有帮助。

4

2 回答 2

6

通过创建从 FlowLayoutPanel 派生的自定义控件并设置其样式进行管理,如下所示:

公共类 CustomFlowLayoutPanel 继承 FlowLayoutPanel

Public Sub New()
    MyBase.New()

    SetStyle(ControlStyles.UserPaint, True)
    SetStyle(ControlStyles.AllPaintingInWmPaint, True)
    SetStyle(ControlStyles.DoubleBuffer, True)

End Sub

结束类

于 2012-05-08T15:46:45.407 回答
1

在向面板添加控件之前尝试为面板调用 SuspendLayout(),然后在面板上调用 ResumeLayout()。你可能会失去一点闪烁。

于 2011-02-14T10:44:00.077 回答