减少.NET FlowLayoutPanel的闪烁

时间:2010-08-10 11:33:12

标签: .net flicker flowlayoutpanel linklabel

我每隔几秒钟就会清除并向FlowLayoutPanel添加多个LinkLabel。它工作正常,但闪烁是非常明显的。有没有办法减少它?我试着设置Form.DoubleBuffering,但没有帮助。

2 个答案:

答案 0 :(得分:5)

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

  

公共类CustomFlowLayoutPanel       继承FlowLayoutPanel

Public Sub New()
    MyBase.New()

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

End Sub
     

结束班

答案 1 :(得分:1)

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