There appears to be a change in behaviour between version 7.3 and 8.3 of the docking manager. At program startup I load an MDI parent form that uses a constructor to retrieve database values, stored settings for control sizes/positions and also calls the following three lines:
dcmMain.LockHostFormUpdate()
dcmMain.LoadDockState()
dcmMain.UnlockHostFormUpdate()
Using version 7.3 the constructor executed in full before the form load event was triggered. Using version 8.3 the constructor executes as far as the LockHostFormUpdate method which forces the FormLoad event to fire, before the constructor has finished it's own tasks.
I can avoid the problem by moving the three lines to the MDI parent's FormLoad event, but the process of displaying the form with dockable panels now appears very ragged. Using the constructor, all docking manager settings etc. were in place before the form appeared, providing a short, crisp form display time. Using the formload event causes the form to take several seconds to appear during which time the various panels can be seen painting themselves. Suspending/Resuming the layout has no effect.
Is this new behaviour by design? Can you suggest a work-around please, so that the screen display returns to how it was using version 7.3?
Thanks for your help.
Steve Graham
Attachment showing a screen shot during load.
ScreenShot_Loading_e8b14684.zip