+1  A: 

Workaround :

I've found a workaround, that isn't particularly elegant, but currently seems to work:

By checking if the calling form is maximised and storing this, it is then possible to minimise (or restore) the calling form prior to the .Show() call (preventing the problem), then setting the called forms WindowState to maximised. Setting the called forms state to maximised emulates the behaviour of what should normally happen (apart from a bit of flickering with the resizing of forms).

Code :

'-- workaround to prevent UI problem with maximised child form calling another maxmised child form --'
Dim isMaximised As Boolean = (WindowState = FormWindowState.Maximized)

'-- minimise the current form so the problem wont occur when we call the new child Form --'
If isMaximised Then WindowState = FormWindowState.Minimized

Dim form As DiaryEntryForm = DiaryEntryForm.GetForm(scheduleId, Me)
'-- if the calling child was originally maximised, then maximsed the called form to similute what should normally happen --'
If isMaximised Then form.WindowState = FormWindowState.Maximized
form.Show()

I'll keep trying to find a solution however. Any help appreciated. Thanks.

Jayden
A: 

Are you attempting to merge menus as a part of the MDI child showing? If so you may be running into this issue

http://support.microsoft.com/kb/895579

The hotfix there will work around the problem if it's the one you're seeing.

JaredPar
Yes I am. Will have a look and get back soon!
Jayden
The problem definitely seems to be being caused by the merge menu items. The hotfix you refer to is for .NET Framework 1.1 and 1.1 SP1. I'm using .NET Framework 1.0. I can't seem to find a similarly documented problem for 1.0?
Jayden