Flicker free TableLayoutPanel

If you are using the TableLayoutPanel from the .NET framework and want to reduce the flickering when resizing, you could enable double-buffering by sub-classing the TableLayoutPanel class.

When double buffering is enabled, all paint operations are first rendered to a memory buffer instead of the drawing surface, this will heavily reduce flickering.

Replace any references to the TableLayoutPanel with reference to the newly created TableLayoutPanelDoubleBuffered class.

public class TableLayoutPanelDoubleBuffered : TableLayoutPanel
    {
        public TableLayoutPanelDoubleBuffered()
        {
            this.DoubleBuffered = true;
        }
    }