To prevent lots of flicker during resizing disable the real-time resizing of the child controls.
To do so override both the Form OnResizeBegin and OnResizeEnd events.
protected override void OnResizeBegin(EventArgs e) { SuspendLayout(); base.OnResizeBegin(e); } protected override void OnResizeEnd(EventArgs e) { ResumeLayout(); base.OnResizeEnd(e); }