.netwinformssystem.componentmodel

Difference between ISupportInitialize (BeginInit/EndInit) and SuspendLayout/ResumeLayout


Could someone please explain what the difference is between using the ISupportInitialize interface methods (BeginInit/EndInit) and using SuspendLayout/ResumeLayout?

Is ISupportInitialize ONLY used during construction/"initial" initialization... or can it be used later when you want to add new child controls to an existing parent control?

Any particular differences?

I greatly appreciate your help!

Thank you,

Pato


Solution

  • The interface ISupportInitialize lives in the System.dll and is just a fairly generic concept in the realm of Components. Incidentally, many parts of System.Windows.Forms are Components, and also Windows.Forms is the main user of the ComponentModel stuff.

    Suspend/ResumeLayout is a pure Windows.Forms thing and really telling a control to not try and do graphics while you are e.g. adding child controls or changing properties.