机房收费系统-- MDI子窗体显示技巧(续vb.net版)
生活随笔
收集整理的這篇文章主要介紹了
机房收费系统-- MDI子窗体显示技巧(续vb.net版)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ?在vb6.0版的機房收費系統中說道過這個問題,回顧請點擊:http://blog.csdn.net/chenjinge7/article/details/8231546這次在vb.net版本中想再次利用原先的代碼,可是其中控件和語法都發生了一些小的變化,費了些周折,終于將這個問題解決了。
? ?首先設置底襯窗體屬性 FormBorderStyle=none
? ?然后在父窗體加載時,同時加載底襯,并設置好大小
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.LoadMe.WindowState = FormWindowState.MaximizedfrmCheckCard.MdiParent = MefrmCheckCard.Show()frmCheckCard.Width = Me.ClientRectangle.Width - 5frmCheckCard.Height = Me.ClientRectangle.Height - 30End Sub?
?? 每個子窗體都這樣設置
Public Class frmShowOnlineRecordPrivate Sub frmShowOnlineRecord_Activated(sender As Object, e As EventArgs) Handles Me.ActivatedDim a As FormFor Each a In Application.OpenForms '遍歷所有已經打開的窗體If a.Name <> frmCheckCard.Name And a.Name <> frmMain.Name And a.Name <> Me.Name Thena.WindowState = FormWindowState.Minimized '將除父窗體、底襯、本身之外的窗體最小化frmCheckCard.SendToBack() '并且,將底襯永遠放在父窗體的z順序的最底層End IfNextEnd SubPrivate Sub frmShowOnlineRecord_Load(sender As Object, e As EventArgs) Handles Me.LoadDim a As FormFor Each a In Application.OpenFormsIf a.Name <> frmCheckCard.Name And a.Name <> frmMain.Name And a.Name <> Me.Name Thena.WindowState = FormWindowState.MinimizedfrmCheckCard.SendToBack()End IfNextEnd Sub End Class?? 每個子窗體都這樣設置這個功能的實現,從全局出發,將每個打開的窗體遍歷,找到該顯示窗體的獨特條件“Name”和actived 事件觸發,以此限制了其他窗體的顯示狀體。
轉載于:https://www.cnblogs.com/lucky7/p/3768652.html
總結
以上是生活随笔為你收集整理的机房收费系统-- MDI子窗体显示技巧(续vb.net版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery 动态生成html后clic
- 下一篇: 关于文字邮件日文乱码的问题