我对我正在开发的程序有疑问。很抱歉,如果我的帖子不清晰,作为初学者编程的完美主义者,我会尝试尽可能清楚地解释一切。
我有一个名为frmMain.vb的Windows窗体,带有两个独立的面板,一个称为sidebarPanel,另一个称为mainPanel:
在运行时,这就是表单的样子: 我缩小了屏幕让它适合这个主题,实际大小是900,600通过这个代码在frmMain_Load:
Me.Size = New Size(900, 600)
现在我创建了以下代码:
With sidebarPanel
.Top = 0
.Left = 0
.Width = 200
.Height = 300
End With
With mainPanel
.Top = 0
.Left = 200
.Width = 200
.Height = 300
End With
如果你想知道侧边栏是如何变成蓝色的,那么这个部分来自一个dll,我遗漏了这段代码以保持这个问题的简单。如果仔细查看源代码,可以看到侧边栏的宽度为200,主面板的左侧宽度为200宽。
有了这个。我想知道答案,我在Stackoverflow,谷歌和一些VB.NET论坛上搜索过这些问题,但我似乎是一个孤独的人。
如何使侧边栏与表格完全相同,所以如果调整大小,侧边栏也会改变高度。同样的问题适用于主面板。
感谢您的阅读,感谢您的热情款待和答案。
答案 0 :(得分:2)
您可以在表单Resize
事件中手动执行此操作,方法是将面板的Height
属性设置为Me.ClientSize.Height
,但是,它更容易在设计时完成所有工作。
为此,在表单设计器中,首先定位并调整面板大小以使它们位于当前表单大小的位置,然后在两者上相应地设置Dock
属性。您希望侧面板的Dock
属性设置为“上”,“左”和“下”。您可能希望主面板的Dock
属性设置为“上”,“下”,“左”和“右”(所有四个边)。正确设置dock属性后,控件将在调整窗体大小时自动调整大小。
设置Dock
属性后,可以通过在设计器中调整表单大小来测试它。
答案 1 :(得分:1)
您可能会发现使用SplitContainer
控件更容易。
对于更复杂的控件布局,您可以使用TableLayoutPanel
来排列控件:将TableLayoutPanel.Dock
属性设置为Fill
,然后将每个控件的.Anchor
属性设置为TableLayoutPanel
。 TableLayoutPanel
右上角有一个小箭头(在设计时),可以指定行和列的高度和宽度。