Suppose I have several floating DockAreaPanes, each containing a single DockableControlPane. I allow the user to tile the screen vertically or horizontally with a subset of the floating panes.
It happens sometimes that the z-order of floating panes is wrong, so that part of a pane being tiled is covered by another pane not part of the current tiled group.
How can I set the z-order of floating dock areas? If I remove a DockAreaPane and reinsert at the desired index, it loses its contents.
Thanks
With the above strategy, the new floating pane appears briefly before assuming its new location and size. It has a full-height XP window caption as opposed to the shorter tool caption it eventually gets, and appears in a standard cascade if there are several.
I tried various ways to eliminate the flash, including hiding the pane until repositioned, and moving the new floating DockAreaPane offscreen, but none worked.
How do I do it?
For the record, I succeeded with the following strategy.
For each DockableControlPane pane, working backwards: pane.Parent.Panes.Remove(pane); DockAreaPane dap = new DockAreaPane(DockedLocation.Floating); dap.Panes.Add(pane); pane.Manager.DockAreas.Insert(dap, 0);
I disabled events around the loop. There is some flashing which I'll try to reduce.
The trick is apparently to create a new DockAreaPane rather than manipulate the old one.