cod*_*der 6 vb.net panel dockpanel-suite winforms
我刚刚下载了WeifenLuo(Dock Panel Suite)并尝试使用它,但我找不到有关如何使用它的具体文档.
我已经完成了一些SO问题,最后得到了一些开始.
这就是我所做的:我创建了一个ToolboxWindow类,如下所示:
Public Class ToolboxWindow
Inherits WeifenLuo.WinFormsUI.Docking.DockContent
Public Sub New()
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
并尝试以这种方式创建此工具箱的实例:
Public Class Form1
Private toolboxWindow As ToolboxWindow
Public Sub New()
Me.InitializeComponent()
'Create new ToolboxWindow
toolboxWindow = New ToolboxWindow()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
'Show it
toolboxWindow.Show(DockPanel1, DockState.DockLeft)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
最后的结果是这样告诉我的吗?

1,如何adjust对size的toolbox.
如果我有form2,我该dock panel如何展示form1
提前致谢!
Q1如何调整工具箱的大小.
DockPanel容器有一个DockLeftPortion属性(右,底和顶).这将左侧区域的宽度指定为像素或可用区域的比例.我没有看到任何允许它采取停靠控件的大小的东西.
Q2如果我有带有停靠面板的form2,我如何在form1中显示
如果您有两个顶级应用程序表单,每个表单都有一个停靠面板,则将相应的dockpanel控件作为方法的第一个参数传递Show().
这是你在Q2的意思吗?
这是一篇旧帖子,但在寻找其他内容的同时,我发现我就在今天找到了答案。
如何调整 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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,为了使其工作,将其粘贴到主表单中:
dockPanel.Extender.FloatWindowFactory = new CustomFloatWindowFactory();
Run Code Online (Sandbox Code Playgroud)
如何显示停靠面板
要显示停靠在停靠窗体中的面板,您必须创建一种表单模板,并在其代码中,将其Form更改为DockContent,如下所示:
现在,在要在停靠面板中使用的表单中,将代码修改为如下所示(注意DockContentas 类型,而不是Form):
namespace mynamespace{
public partial class MyForm: DockContent {
public dockform_MyForm() {
InitializeComponent();
}
private void MyForm_Load(object sender, EventArgs e) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后,为了停靠它,我们首先声明新表单,然后创建它。我喜欢这个:
//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);
}
Run Code Online (Sandbox Code Playgroud)
最后,要显示表单,您只需从任何地方调用它:
showMyFormDocked();
Run Code Online (Sandbox Code Playgroud)
我从研究源文档并尝试复制它们中学到了所有这些。
| 归档时间: |
|
| 查看次数: |
9202 次 |
| 最近记录: |