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.