Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 314
Pato Avatar asked May 18 '09 14:05

Pato


1 Answers

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.

like image 119
flq Avatar answered Sep 27 '22 02:09

flq