如何让两个表单停靠在同一侧(Weifenluo)
How to have two forms docked on same side (Weifenluo)
我进行了大量搜索并研究了 Docksuite 示例,但未能成功地让简单的屏幕正常工作。我想要一个表格在上面,两个表格在左边打开。
到目前为止我做了什么:
- 创建了一个包含 DockPanel 的 FormMainDock; isMDIContainer = True
- 创建了三个继承自 DockContent 的 Form
- 在FormMainDock中有如下代码:
...
Private Sub FormMainDock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DockPanel1.Theme = New VS2015DarkTheme
Dim fTop As New FormTop
fTop.Show(DockPanel1, DockState.DockTop)
fTop.DockPanel.DockTopPortion = 120
Dim fLeft1 As New FormLeft1
fLeft1.Show(DockPanel1, DockState.DockLeft)
Dim fLeft2 As New FormLeft2
fLeft2.Show(DockPanel1, DockState.DockLeft)
fLeft2.DockPanel.DockLeftPortion = 400
End Sub
...
这向我展示了
现在我想要的是这个
我不知道如何在启动时打开这两个表单。
任何帮助将不胜感激。
尽管我已经看过演示源代码,但我又看了一遍,知道这段代码有效,而且 Lex Li 的提示让我再看一遍,我强迫自己更深入地研究,并在一些人的帮助下C# 翻译器我想通了。当然最后还是很简单的。所以对于其他人来说,要想更快地解决这个问题,您只需要做的就是:
首先,创建一个包含 DockPanel 的 MainForm 并设置 isMDIContainer = True。
创建三个继承自 DockContent 的表单(不要忘记导入 WeifenLuo.WinFormsUI.Docking)。然后当你想得到图片中的样本时使用这个:
Private Sub FormMainDock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DockPanel1.Theme = New VS2015DarkTheme 'This line isn't necessary
Dim fTop As New FormTop
fTop.Show(DockPanel1, DockState.DockTop)
Dim fLeft1 As New FormLeft1
fLeft1.Show(DockPanel1, DockState.DockLeft)
Dim fLeft2 As New FormLeft2
fLeft2.Show(fLeft1.Pane, DockAlignment.Bottom, 0.5)
End Sub
就是这样。玩得开心。
我进行了大量搜索并研究了 Docksuite 示例,但未能成功地让简单的屏幕正常工作。我想要一个表格在上面,两个表格在左边打开。
到目前为止我做了什么:
- 创建了一个包含 DockPanel 的 FormMainDock; isMDIContainer = True
- 创建了三个继承自 DockContent 的 Form
- 在FormMainDock中有如下代码:
...
Private Sub FormMainDock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DockPanel1.Theme = New VS2015DarkTheme
Dim fTop As New FormTop
fTop.Show(DockPanel1, DockState.DockTop)
fTop.DockPanel.DockTopPortion = 120
Dim fLeft1 As New FormLeft1
fLeft1.Show(DockPanel1, DockState.DockLeft)
Dim fLeft2 As New FormLeft2
fLeft2.Show(DockPanel1, DockState.DockLeft)
fLeft2.DockPanel.DockLeftPortion = 400
End Sub
...
这向我展示了
现在我想要的是这个
我不知道如何在启动时打开这两个表单。 任何帮助将不胜感激。
尽管我已经看过演示源代码,但我又看了一遍,知道这段代码有效,而且 Lex Li 的提示让我再看一遍,我强迫自己更深入地研究,并在一些人的帮助下C# 翻译器我想通了。当然最后还是很简单的。所以对于其他人来说,要想更快地解决这个问题,您只需要做的就是:
首先,创建一个包含 DockPanel 的 MainForm 并设置 isMDIContainer = True。 创建三个继承自 DockContent 的表单(不要忘记导入 WeifenLuo.WinFormsUI.Docking)。然后当你想得到图片中的样本时使用这个:
Private Sub FormMainDock_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DockPanel1.Theme = New VS2015DarkTheme 'This line isn't necessary
Dim fTop As New FormTop
fTop.Show(DockPanel1, DockState.DockTop)
Dim fLeft1 As New FormLeft1
fLeft1.Show(DockPanel1, DockState.DockLeft)
Dim fLeft2 As New FormLeft2
fLeft2.Show(fLeft1.Pane, DockAlignment.Bottom, 0.5)
End Sub
就是这样。玩得开心。