Vb.net 将窗体加载到面板中
我有一个面板和一个按钮,当我点击按钮时,我想在面板中加载一个表单 这就是我将表单加载到窗格中的方式Vb.net 将窗体加载到面板中,vb.net,winforms,Vb.net,Winforms,我有一个面板和一个按钮,当我点击按钮时,我想在面板中加载一个表单 这就是我将表单加载到窗格中的方式 Dim f As New Form() f.TopLevel = False f.WindowState = FormWindowState.Maximized f.FormBorderStyle = Windows.Forms.FormBorderStyle.None f.Visible = True Panel1.Controls.Add(f) 我的问题是一旦表单加载,所有内容都会被拉伸。控
Dim f As New Form()
f.TopLevel = False
f.WindowState = FormWindowState.Maximized
f.FormBorderStyle = Windows.Forms.FormBorderStyle.None
f.Visible = True
Panel1.Controls.Add(f)
我的问题是一旦表单加载,所有内容都会被拉伸。控件加载到面板中后,看起来与窗体中的控件不同。我试着使形状比面板小,但仍然拉伸。我还尝试了不最大化面板中的窗口,而只是使用
sizeable
Border我尝试了您的代码,看到面板中的表单最大化,所以我只放了这一行:
f.WindowState = FormWindowState.Normal
在使用按钮将visible设置为true之前
Public f As New Form()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
f.TopLevel = False
f.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
f.Size = New System.Drawing.Size(200, 150)
f.Location = New System.Drawing.Point(20, 20)
f.WindowState = FormWindowState.Normal
f.Visible = False
Panel1.Controls.Add(f)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If f.Visible = False Then f.Visible = True Else f.Visible = False
End Sub
因为我没有足够的声誉发布图片(我的第一个答案是stackoverflow)。您可以看到绿色的面板。我这样设置BorderStyle只是为了显示结果,但它使用的属性是None,并添加了大小/位置来定位表单。
希望这能对您有所帮助。我还尝试了with mock项目,控件加载时使用了默认大小。我将form属性设置为完全相同的值,并将加载控件的窗体的大小保留为设计模式中指定的大小。是否检查控件的
锚定属性设置以查看是否已自定义?