2015-06-18 47 views
0

我有一個面板和一個按鈕,當我單擊按鈕時我想在面板中加載一個表單。將表單加載到面板中

這是如何我裝形式進入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

我也試着用模擬項目和控件加載它們的默認大小。我將表單屬性設置爲完全相同的值,並將其大小保持爲與設計模式中指定的大小相同的控件加載。您是否檢查過控件的「Anchor」屬性設置,看看您是否定製了它? – fujiFX

回答

1

我想你的代碼,我看到了面板的內部形式最大化,所以,我只能把這個行:

f.WindowState = FormWindowState.Normal 

設置前按鈕顯示爲真。

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,因爲我沒有足夠的聲譽後的圖像(我用計算器第一個答案)。你可以看到綠色的面板。我將BorderStyle設置爲這樣只是爲了向您顯示結果,但它將屬性設置爲None並添加Size/Location來定位表單。 希望這會幫助你。