
Introduction
When I started designing my project UI (Win Forms) based on UIPAB pattern, I've come across few issues. One of them is implementing UIPAB in MDI. In fact I searched (u can guess it) for it, many people asking the same question but unfortunately no replies for them (to me too), so I solved it in my own way.
Before going to solution I want to thank all programmers who wrote UIPAB articles and helped me a lot in understanding this (of course our PC is also one of them).
Solution
Yea, it’s very simple.
I’ve a class called CommonClass (you can have your own name…).
Public Class CommonClass
Public Shared mdi As New MDIFORM
End Class
Here MDIFORM is the name of the MDI Form.
Now all you have to do is use this shared object in your Starter class.
<STAThread()> _
Public Shared Sub Main()
AddHandler Application.ThreadException, AddressOf Application_ThreadException
Application.Run(CommonClass.mdi)
End Sub
One more step, last one…
Put below two lines of code in each of your Child Form Load event, that’s it
Me.MdiParent = CommonClass.mdi
Me.Dock = DockStyle.Fill
Now you know how simple is it, right??
Here I put complete UIPAB demo project, in which 5 child forms and 1 MDI form are there.
Please feel free to send me your feedback/suggestions.
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here