Reduce Flicker of .NET FlowLayoutPanel
-
27-09-2019 - |
Question
I'm clearing and adding multiple LinkLabel's to FlowLayoutPanel, every couple of seconds. It works fine, but flicker is quite noticeable. Is there any way to reduce it? I tried to set Form.DoubleBuffering, it didn't help.
Solution
Managed by creating a custom control derived from FlowLayoutPanel and setting its styles as shown below:
Public Class CustomFlowLayoutPanel Inherits FlowLayoutPanel
Public Sub New() MyBase.New() SetStyle(ControlStyles.UserPaint, True) SetStyle(ControlStyles.AllPaintingInWmPaint, True) SetStyle(ControlStyles.DoubleBuffer, True) End Sub
End Class
OTHER TIPS
Try calling SuspendLayout() for the panel before adding controls to it and then call ResumeLayout() on the Panel. You may lose that flicker a bit.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow