这是一篇旧帖子,但是在寻找其他内容时,我发现就在今天,我找到了答案。
如何调整 DockForms 的大小
要调整表格的大小,这里有一种方法可以让您修改它们。 看这里。只需将其粘贴到您的主子的名称空间中(我把我的放在底部):
public class CustomFloatWindow : FloatWindow {
public CustomFloatWindow(DockPanel dockPanel, DockPane pane)
: base(dockPanel, pane) {
FormBorderStyle = FormBorderStyle.Sizable;
MaximizeBox = false;
MinimizeBox = false;
Width = 50;
}
public CustomFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds)
: base(dockPanel, pane, bounds) {
FormBorderStyle = FormBorderStyle.Sizable;
MaximizeBox = false;
MinimizeBox = false;
Width = 50;
}
}
public class CustomFloatWindowFactory : DockPanelExtender.IFloatWindowFactory {
public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane, Rectangle bounds) {
return new CustomFloatWindow(dockPanel, pane, bounds);
}
public FloatWindow CreateFloatWindow(DockPanel dockPanel, DockPane pane) {
return new CustomFloatWindow(dockPanel, pane);
}
}
然后,为了使其工作,将其粘贴到主窗体中:
dockPanel.Extender.FloatWindowFactory = new CustomFloatWindowFactory();
如何显示停靠面板
要显示停靠在停靠表单中的面板,您必须创建一种表单模板,并在其代码中将其Form
更改为DockContent
,如下所示:
现在,在您想在停靠面板中使用的表单中,将代码修改为如下所示(注意DockContent
作为类型,而不是Form
):
namespace mynamespace{
public partial class MyForm: DockContent {
public dockform_MyForm() {
InitializeComponent();
}
private void MyForm_Load(object sender, EventArgs e) {
}
}
}
然后,为了停靠它,我们首先声明新表单,然后创建它。我喜欢这个:
//in your form main sub:
private dockform_MyForm dform_MyForm = new MyForm();
//now, somewhere in your form's class, put this:
public void showMyFormDocked() {
dform_MyForm = new MyForm();
dform_MyForm.Show(dockPanel);
}
最后,要显示表单,您只需从任何地方调用它:
showMyFormDocked();
我从研究源文档并尝试复制它们中学到了所有这些。