Am I supposed to track the state of a control when I want to alter its floating state?
Example: if I want to switch from MDIChild to FloatNotDockable, calling SetFloatOnly(control,true) should do it, but it doesn't.
Am I missing something here?
Looks like the DockingManager.SetFloatOnly(Control, bool) method works as intended only when the Control is a true docking window, and not an MDI child. I will go ahead and file a report and we will fix the problem for a future release of Essential Tools.
In the meantime, you can workaround this condition by first setting the control as a docking window through the DockingManager.SetAsMDIChild(Control, false) method and then calling the SetFloatOnly() method.
The following code should give you an idea,
if(this.dwCurrent.Parent is Syncfusion.Windows.Forms.Tools.DockingWrapperForm)
// The docking window is set as an MDI child