Thanks for the detailed update.
2. I do see that the controls do get docked when even if they do not belong the host form''s or UserControl''s Controls collection. But it is a good practice to add controls to a host form/UserControl''s collection as soon as they are created.
3. Please refer to the following lines of your earlier update :
" I was hoping to be able to use the DockControl function to place the controls in a default layout, but it does not work - the controls do not appear. If I use SetEnableDocking, however, they do appear, but I cannot control the placement programatically."
According to my understanding you are referring to the situation when the ''Dock on UserControl'' button is pressed. This is because the the docking window layout created when the ''Dock on Form'' button is pressed looks exactly the same as the one created when ''Dock on UserControl''is pressed. I have modified your code to show that the controls do get docked on the UserControl when DockControl is used. Please refer to the modified sample
attached here and let me know if you have any suggestions in this regard.
Also refer to the new test sample
attached here. Here I add UserControls dynamically at runtime to the host form. The host form hosts an instance of DockingManager in it, and a docking layout can be created using the UserControls on it. The UserControl itself hosts a DockingManager and other controls and has its own docking layout. So it is a nested docking layout kind of scenario. I can successfully save/load dock state information of each UserControl individually as well as the host form (which includes all the UserControls on it). Note that only the DockControl method is used everywhere (both on the form and the UserControl) and it works fine. Please refer to the sample and let me know if you need further assistance. We appreciate your interest in Syncfusion products.