将表单加载到面板中

时间:2015-06-18 00:13:32

标签: vb.net winforms

我有一个面板和一个按钮,当我点击按钮时我想在面板中加载一个表单。

这就是我将表单加载到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边框

1 个答案:

答案 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来定位表单。 希望这会帮助你。