...
> My question is -
> (a) Why z ResumeLayout(false) called by the designer instead of true- not
> allowing pending layout events to be processed?
My guess is, this is to overcome C# somewhat questionable approach
to inheritance. If you are in the constructor of the base class, you are
already of the type of the inheritor, not the base. This means that
if layout is allowed, and the inheritor overrides the OnLayout method,
the method will be called on the inheritor, who obviously does not exist
at this point yet.
> (b) Is my technique of overriding "OnLayout" event to perform layout
> calculations and using PerformLayout to force new layout incorrect?
> If so what is the correct way to do this?
I would simply set that property outside the generated code, by hand,
e.g. in OnCreateControl.