我有一个面板和一个按钮,当我点击按钮时我想在面板中加载一个表单。
这就是我将表单加载到panle中的方式
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)
我的问题是,一旦表单加载,一切都被拉伸。一旦加载到面板内,控件看起来就像它们在表单中的样子。我尝试使表格小于面板,仍然拉伸。我还尝试不在面板中最大化窗口,只使用Sizable
边框
答案 0 :(得分:1)
我尝试了你的代码,我看到面板内的表单最大化,所以我只把这一行:
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
Screenshot of what I got因为我没有足够的声誉来发布图片(我的第一个回答是stackoverflow)。您可以看到绿色面板。我将BorderStyle设置为只是为了向您显示结果,但是它将属性设置为None并添加了Size / Location来定位表单。 希望这会帮助你。