Previous | Index | Next 

[PRB] MDI child forms don’t become visible

Under VB6 it is legal to invoke the Show method of an MDI child form from inside the Load event handler of its MDI parent form, that is when the MDI parent form isn’t visible yet, or from inside the Load event handler of a splash screen.

This is an example of bad programming, because it is based on a VB6’s undocumented behavior. Applications converted by VB Migration Partner support this behavior only partially. More precisely, invoking the Show method of an MDI child form correctly displays its MDI parent form only if the MDI child form isn’t the first form that the application displays. For example, the application is converted correctly if it has a splash screen but not if the MDI child form is displayed from inside the Sub Main method or is the application’s startup form.

If the application has no splash screen and the MDI child form is the first form that the VB6 application displays, the converted VB.NET project won’t work as expected. You have no choice other than editing the original code in such a way that the MDI parent form is the first form being displayed – either because is the startup form or because is the first form shown from inside the Sub Main method.

 

Previous | Index | Next