子窗体设计
子窗體設(shè)計
? ? ? ? ? ? 設(shè)置好主窗體之后,子窗體的顯示也是有問題的,在MDI窗體上顯示的MDIchild窗體是一條線,在菜單欄的下方,可以通過拉動,來把它拉出來,這樣是很不方便的。
? ? ? ? ? ?解決辦法,設(shè)置MDIchild窗體的borderstyle屬性為1
? ? ? ? ? ?1——fixedsingle有最小化和最大化固定單邊框。
? ? ? ? ? ?這樣就可以顯示出來子窗體了,但是這個窗體無法調(diào)整大小,如果把它的maxbutton和minbutton屬性設(shè)置為true的話,只能使用最大化和最小化按鈕才可以改變窗體的大小。
? ? ? ? ? ?還有就是可以把子窗體的borderstyle屬性設(shè)置為2,然后通過在子窗體的load事件中添加,設(shè)置該窗體的高和寬的屬性值,或者直接在屬性窗口中直接自定義它的大小即可,不過這樣的話更具子窗體顯示內(nèi)容得找到適合的高度和寬度,沒有手動繪制的方便。
? ? ? ? ? ?子窗體的位置問題,你會發(fā)現(xiàn)加載出來的子窗體都位于MDI窗體的左上角位置,雖然可以手動拖動它的位置,但是很不方便,如果在子窗體的屬性窗口中設(shè)置startupposition中設(shè)置它的屬性,則會報錯。
? ? ? ? ? ?在代碼窗口中改變該屬性值,也會報錯都行不通,解決辦法,使用最簡單的語句,在子窗體的from_load事件中添加代碼
Private Sub form_load()
Me.Top = (Screen.Height - Me.Height) / 2
Me.Left = (Screen.Width - Me.Width) / 2
End Sub
? ? ? ? ? ?子窗體的最小化問題,給的機(jī)房每當(dāng)打開一個窗體之后,上一個子窗體會自動最小化到主窗體的下方,參考曉東的博客,通過一個判斷對非活動窗體進(jìn)行處理。
Private Sub form_deactivate()
If Me.WindowState <> 1 Then
Me.WindowState = 1
End If
End Sub
? ? ? ? ? ? 在子窗體中添加如上代碼,則每當(dāng)打開一個窗體時上一個窗體就會自動的最小化,而且從主窗體的左下角開始依次往右排列。
?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 主窗体设计
- 下一篇: 整人之bat重启文件