DockManager默认只能停靠在窗体上,如果想停靠在其他控件上,我们发现并没有选项可以选,可能目前大部分解决方法是新建一个用户控件文件,再在用户控件里面单独设计模块。
除了这种方法还有没有其他的呢?
既然我们知道DockManager的DockPanel能停靠在UserControl,之前有人说DevExpress在工具箱为什么要显示一个XtraUserControl用户控件,是不是很多余,其实不然,
XtrauserControl完成可以当做一个空的用户控件或者布局使用,至于里面要放什么控件,请随便。知道这个了,那我们的问题就解决了。
我们试着从工具箱拖出一个XtraUserControl,我们再看看DockManager的Form属性,这时候我们可以看到可以选择所拖的XtrauserControl,perfect !
Ok, 我们再拖一个dockmanager,停靠在窗体上,一个想要的界面就可以搞定了。
///// https://stackoverflow.com/questions/14555782/devexpress-dynamic-docking-of-dock-panels
DevExpress dynamic docking of dock panels
IList<DockPanel> mLeftSidePanels = new List<DockPanel>(); //... void addNewPanelButton_Click(object sender, EventArgs e) { dockManager1.BeginUpdate(); DockPanel dockPanel = dockManager1.AddPanel(DockingStyle.Top); // Dock the panel to the previous panel if(mLeftSidePanels.Count == 0) dockPanel.DockTo(dockPanelSettings); else { // add to parent split container dockPanel.DockTo(dockPanelSettings.ParentPanel); } mLeftSidePanels.Add(dockPanel); dockManager1.EndUpdate(); }