我在使用VB表单时无法正确调整面板内部的大小。调整窗口大小时,表单不会跟随。它保持固定在左上角。然而,该面板正确调整大小。
正常尺寸 - http://s23.postimg.org/7pbwa6znv/ct1.png
已调整大小 - http://s18.postimg.org/kvek5ga95/ct2.png
以下是我如何展示Form2
Form2.TopLevel = False
Me.Panel1.Controls.Add(Form2)
Form2.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Form2.Dock = DockStyle.Fill
Form2.Show()
我试图使用以下内容,但没有成功
Dim f As New Form2 With {.TopLevel = False, .AutoSize = False}
f.Dock = DockStyle.Fill
Me.Panel1.Controls.Add(f)
f.Show()
目前我如何解决此问题的方法是调整大小,关闭form2,然后重新打开它。除了这不是一个正确的解决方案之外,Form2中的所有数据在调整大小时都会因为它关闭而丢失。
If Form2.Visible = True Then
Form2.Close()
Form2.TopLevel = False
Me.Panel1.Controls.Add(Form2)
Form2.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Form2.Dock = DockStyle.Fill
Form2.Show()
End If
提前致谢。
答案 0 :(得分:1)
您可以使用:
Dim form2 As New Form
form2.TopLevel = False
form2.BackColor = Color.Red
form2.FormBorderStyle = FormBorderStyle.None
form2.Anchor = AnchorStyles.Bottom
form2.Anchor = AnchorStyles.Top
form2.Anchor = AnchorStyles.Left
form2.Anchor = AnchorStyles.Right
Panel1.Controls.Add(form2)
form2.Dock = DockStyle.Fill
form2.Show()