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;
}
}