VB.NET - 面板调整大小

问题描述 投票:0回答:2

我想不出来了!我已经研究过对接,锚定等等但是我还没有让它在父表单调整大小时正确调整大小。

编辑:

快速概述:

我有一个主要形式,其中一个menustrip停靠在顶部,一个面板设置为填充。我在menustrip中有链接,在面板中打开表单。见下面的代码。我正在努力让面板内的表单调整面板大小。

我将面板背景设置为黑色,将面板内部的形状设置为白色。我可以看到面板正确调整窗体大小。面板内的表格保持原始位置。如果我以最大化方式启动我的应用程序,然后单击我的menustrip,确保面板内的表单正确调整大小。但是,一旦它最大化,它就不会像面板容器那样收缩。

我删除了整个表单上的所有内容,添加了1个面板并设置为填充然后表单加载执行以下操作:

Dim f As New Contactdetails With {.TopLevel = False, .AutoSize = True}
    f.Dock = DockStyle.Fill
    Me.Panel2.Controls.Add(f)
    f.Show()

这仍然不起作用。当我最大化我的主窗体时,面板内的窗体不会调整大小,但面板会更改它的背景以监视其大小的变化

vb.net winforms visual-studio-2013 tablelayoutpanel
2个回答
3
投票

关闭AutoSize:

Dim f As New Contactdetails With {.TopLevel = False, .AutoSize = False}
f.Dock = DockStyle.Fill
Me.Panel2.Controls.Add(f)
f.Show()

如果面板中的前一个表单不再使用,那么您应该首先处理它:

While Me.Panel2.Controls.Count > 0
  Me.Panel2.Controls(0).Dispose()
End While

0
投票

在子窗体的属性中将WindowState设置为Normal

Me.Dock = DockStyle.

填写子表单的Load子部分

© www.soinside.com 2019 - 2024. All rights reserved.