Index: System.Windows.Forms/ChangeLog =================================================================== --- System.Windows.Forms/ChangeLog (revision 74754) +++ System.Windows.Forms/ChangeLog (working copy) @@ -1,5 +1,11 @@ 2007-03-21 Jonathan Pobst + * Control.cs: Don't trigger a layout if an implicit control is added + that isn't visible. Don't notify the owner when an implicit control + is added. (Owners shouldn't even know about their implicit controls.) + +2007-03-21 Jonathan Pobst + * ScrollableControl.cs: Add implicit controls with AddRangeImplicit to save some re-layouts. Index: System.Windows.Forms/Control.cs =================================================================== --- System.Windows.Forms/Control.cs (revision 74753) +++ System.Windows.Forms/Control.cs (working copy) @@ -561,8 +561,11 @@ control.InitLayout (); if (owner.Visible) owner.UpdateChildrenZOrder (); - owner.PerformLayout (control, "Parent"); - owner.OnControlAdded (new ControlEventArgs (control)); + + // If we are adding a new control that isn't + // visible, don't trigger a layout + if (control.is_visible) + owner.PerformLayout (control, "Parent"); } #if NET_2_0 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]