面板的形状高度

时间:2012-12-02 12:11:40

标签: vb.net windows-forms-designer

我对我正在开发的程序有疑问。很抱歉,如果我的帖子不清晰,作为初学者编程的完美主义者,我会尝试尽可能清楚地解释一切。

我有一个名为frmMain.vb的Windows窗体,带有两个独立的面板,一个称为sidebarPanel,另一个称为mainPanel:

http://i.stack.imgur.com/Zs2lt.png

在运行时,这就是表单的样子: 我缩小了屏幕让它适合这个主题,实际大小是900,600通过这个代码在frmMain_Load:

Me.Size = New Size(900, 600)

http://i.stack.imgur.com/gdA3z.png

现在我创建了以下代码:

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论坛上搜索过这些问题,但我似乎是一个孤独的人。

如何使侧边栏与表格完全相同,所以如果调整大小,侧边栏也会改变高度。同样的问题适用于主面板。

感谢您的阅读,感谢您的热情款待和答案。

2 个答案:

答案 0 :(得分:2)

您可以在表单Resize事件中手动执行此操作,方法是将面板的Height属性设置为Me.ClientSize.Height,但是,它更容易在设计时完成所有工作。

为此,在表单设计器中,首先定位并调整面板大小以使它们位于当前表单大小的位置,然后在两者上相应地设置Dock属性。您希望侧面板的Dock属性设置为“上”,“左”和“下”。您可能希望主面板的Dock属性设置为“上”,“下”,“左”和“右”(所有四个边)。正确设置dock属性后,控件将在调整窗体大小时自动调整大小。

设置Dock属性后,可以通过在设计器中调整表单大小来测试它。

答案 1 :(得分:1)

您可能会发现使用SplitContainer控件更容易。

对于更复杂的控件布局,您可以使用TableLayoutPanel来排列控件:将TableLayoutPanel.Dock属性设置为Fill,然后将每个控件的.Anchor属性设置为TableLayoutPanelTableLayoutPanel右上角有一个小箭头(在设计时),可以指定行和列的高度和宽度。