我正在使用DockPanel Suite,但由于文档相对稀疏,我遇到了问题。
我有两个停靠面板:一个停靠在左侧和右侧,称为“Side”,另一个停靠在底部,称为“Bottom”。我希望 Side 填充表格的高度,Bottom 填充其余部分。
所以我的目标是:
但我所拥有的是:
当我运行程序时,我得到了第二个变体,如果我将 Bottom 拖出使其浮动,然后将其拖回,它将按照我想要的方式停靠,但我无法以编程方式实现这一点。
这是我的代码:
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
}
我试过改变顺序,但没有效果。我尝试过各种属性和方法,但没有太多文档,因此 IntelliSense 在这里没有太大帮助。
更新
我已经尝试按照两个人的建议将侧面板放在前面和/或将底部面板放在后面,但这没有效果。这是完整的代码:
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
// I've tried enabling these one at a time, and even both at once, no effect
side.BringToFront();
bottom.SendToBack();
}
用户 Lex Li 提出了另一个建议,即首先创建一个文档,然后停靠在该文档的底部。这似乎有效,除了现在底部窗口中没有,如下所示:
这是我用来创建它的代码:
doc = new Document();
doc.Show(dockPanel, DockState.Document);
side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
bottom = new BottomForm();
bottom.Show(doc.Pane, DockAlignment.Bottom, 0.3);
我可以通过将主停靠面板的DocumentStyle
属性设置为DockingMdi
or来避免这种情况DockingWindow
,这给了我这个:
但是那些标签在那里,我不想要;我更喜欢使用DockingSdi
风格。
所以,我正在尝试以编程方式实现停靠到最底部,如下所示:显示停靠点的位置......
最后,停靠的窗口