Pato
Pato

Reputation: 207

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

Upvotes: 12

Views: 5543

Answers (2)

SSpoke
SSpoke

Reputation: 5836

Correct used code in VB.Net for this, most decompilers get this wrong.

CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()

Upvotes: -1

flq
flq

Reputation: 22859

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.

Upvotes: 5

Related Questions