MDI子視窗放大時的注意事項
開發MDI程式時,若需要一開始就放大子視窗,有些地方需特別留意。
這問題是同事在寫VC++.NET時發現的,本來以為是VC++.NET才會發生。剛試了一下,其它語言像是VB.NET也會有此現象。
讓我們跟著下面步驟來看一下:
Step1.把MDI主表單設計成大概如下圖這樣
Step2.方案總管加入子視窗表單
Step3.子視窗表單的WindwoState屬性設為Maximized
Step4.在MDI主表單工具列上的按鈕點兩下,並在處理函式內加入下列的Code
Dim f As New Form2
f.MdiParent = Me
f.Show()
Step5.執行
點選工具列上按鈕兩下,會看到有怪現象發生。可以從下圖看到表單介面已有最大化的跡象,但是子視窗卻無最大化的效果。
如何避免
要避免該現象的發生,在子表單中不要設定WindowState屬性,而改用程式碼在Show之前設定。
Dim f As New Form2
f.MdiParent = Me
f.WindowState = FormWindowState.Maximized
f.Show()