65.9K
CodeProject is changing. Read more.
Home

Implementing UIPAB in MDI

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.25/5 (4 votes)

Nov 11, 2005

1 min read

viewsIcon

26870

downloadIcon

287

This article explains how to use UIPAB pattern when working with MDI in VB.NET

Sample Image - MDIWITHUIPAB.jpg

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.