您好,登錄后才能下訂單哦!
VB.NET中怎么實現窗體嵌套,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
窗體嵌套
經驗豐富的Visual Basic開發者知道多文檔界面(MDI)應用程序能夠包含子窗體,那些子窗體由MDI父窗體管理。但是如果沒有MDI的能力你怎樣實現包含VB.NET窗體嵌套?例如一個MDI子窗體也可能需要包含另一個窗體。
有時能夠使用用戶控件(UserControl)實現這種功能,但是如果你真的需要把一個窗體嵌套進另一個窗體,有多種方法可以實現。窗體衍生自Control類,這意味著它能被放入另一個窗體的控件集合中,使用如下的邏輯:
Dim f As New
frmEmbed2()Me.Controls.Add(f)
f.Show()
但是很不幸,這段代碼將會導致一個運行時(runtime)異常。為了避免這種異常,該窗體的TopLevel屬性必須設置為False(見下面的代碼)。
Dim f As New frmEmbed2() f.TopLevel = False Me.Controls.Add(f) f.Show()
VB.NET窗體嵌套有一個標題條(它的顏色是未激活的系統顏色),因此該VB.NET窗體嵌套能在容器窗體內四處拖動。在圖2中,該窗體從它的開始位置(左上角)拖到了右下角。
通常在顯示嵌入的窗體前先設置它的位置。這只需要簡單的設置嵌入窗體的Left和Top屬性。嵌入窗體的位置與容器窗體是相對的。
與MDI子窗體不同,嵌入窗體能覆蓋容器窗體上的控件。圖3顯示了它們的不同。
在右邊的MDI例子中,沒有辦法使按鈕隱藏在子窗體的后面。但是在左邊該按鈕被嵌入窗體覆蓋了。
當窗體***次被嵌入時,它將顯示在容器窗體上的已存在的控件的后面。當它被點擊時,它走向前臺并停留在那兒。這會打擾用戶,但是能通過插入下面的代碼防止這種情況發生:
f.BringToFront()
VB.NET窗體嵌套可以包含其它的嵌入窗體,沒有實際的限制。
關于VB.NET中怎么實現窗體嵌套問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。