2015-12-26 82 views
-2

如何設置Windows窗體尺寸最大,如果最後窗體的大小是我的工作,它包含兩個Windows窗體應用程序的最大

我希望如果用戶將第一個窗體的大小更改爲包含所有桌面的最大大小。下一個表單加載時,它的大小會更改爲最大值。

我寫這篇但不工作的:

Private Sub sc(sender As Object, e As EventArgs) Handles MyBase.SizeChanged 
    If Me.Size = New Size(MaximumSize) Then 
     MainMenu.Size = New Size(MaximumSize) 
    End If 
End Sub 

我會很高興,如果你能幫助我。

+0

我的代碼是否正確? – STYLISH

+0

您的窗體看起來不錯,您可以通過刪除窗口右側的空白區域使其更好。另外,如果將菜單放在右側,則從右到左的形式更有意義。 - 但是你的代碼不正確。請參閱下面的答案。 –

+0

@RezaAghaei謝謝,但我找到了更好的答案,並把它放在這裏;;) – STYLISH

回答

1

在展示之前,將您的新表單的WindowState設置爲您當前表單的WindowState

而且當窗體未最大化,如果你想顯示下一個形式正好與大小與第一種形式的位置,你還可以設置你的新形式的SizeLocation

'I suppose this is the button on the first form that opens the second form 
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    'I Suppose Form2 is your new Form 
    Dim f As New Form2() 
    f.WindowState = Me.WindowState 
    f.Location = Me.Location 
    f.Size = Me.Size 
    f.StartPosition = FormStartPosition.Manual 
    f.ShowDialog() 
End Sub 
0

我把這段代碼放在form2_load部分並且工作

Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    'Maximize form size if the past form size is maximized 
    If Form1.WindowState = FormWindowState.Maximized Then 
     Me.WindowState = FormWindowState.Maximized 
    End If 
+0

沒問題,它也可以。但是當你有更多的經驗時,你會看到另一個答案更好:)它支持也是相同的大小。以這種方式引用「Form1」也是一個非常糟糕的主意。很好回答你自己的問題,但不是在有更完整和更好的答案的情況下。 –

相關問題