Hello
I have an MDI form with a dock and MDI tab workspace (SCSF solution). One pane, docked top, serves as a navigational aid, and is locked (cannot be docked somewhere else, cannot be resized etc.). There are other panes which can be freely docked and moved. I would like to prevent users dragging a pane and dropping it to this specific navigational pane. I could not manage this declaratively by setting properties, nor do I have a clue how to achieve the required behaviour programmatically. Is this possible after all?
Secondly, if I group two panes together, in a way they are docked as tabs, and I unpin both of them, I can see one tab header only, showing the caption of the last unpinned tab. I would like to see both pane tab headers instead, side by side. Is this possible?
Thanks, Frank
osetools said:I have an MDI form with a dock and MDI tab workspace (SCSF solution). One pane, docked top, serves as a navigational aid, and is locked (cannot be docked somewhere else, cannot be resized etc.). There are other panes which can be freely docked and moved. I would like to prevent users dragging a pane and dropping it to this specific navigational pane. I could not manage this declaratively by setting properties, nor do I have a clue how to achieve the required behaviour programmatically. Is this possible after all?
There are two ways you could try to do this. I'm not sure if this will work correctly, but you can try to handle the BeforeDockChange event and set e.Cancel to True if the e.Parent owns your navigation pane. The other way you could do this is to make your navigation pane a panel docked to the top of the form instead of a pane controlled by the dock manager. If you want to control where it is positioned relative to toolbars from the toolbars manager and panes from the dock manager, you can implement IDockingArea.
osetools said:Secondly, if I group two panes together, in a way they are docked as tabs, and I unpin both of them, I can see one tab header only, showing the caption of the last unpinned tab. I would like to see both pane tab headers instead, side by side. Is this possible?
Set CompressUnpinnedTabs to False on the UltraDockManager
Dear Mike
thanks for your great help. Handling the BeforeDockChange event and setting e.Cancel to true helped solving the problem. Implementing IDockingArea would have been smarter, but because I am running CAB smart parts, would have involved more changes to be made.
Setting CompressUnpinnedTabs to false of course also solved the problem. I was just too blind to find this setting.
Regards, Frank