Difference between ISupportInitialize (BeginInit/EndInit) and SuspendLayout/ResumeLayout
-
22-08-2019 - |
Question
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.
OTHER TIPS
Correct used code in VB.Net for this, most decompilers get this wrong.
CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()