Many VB6 applications manipulate forms by means of their default instance, as in this code:
frmPreview.Show
VB.NET supports form default instances, however converted application might not behave as expected. The first symptom of such problem is that the form works correctly the first time it is being showed, but behaves differently (or delivers wrong results) if it is re-opened.
Fixing this problem is quite simple: you just need to force VB.NET to use a new instance of the form the next time the form is displayed. You do so by setting the default instance to Nothing just before referencing it, as in:
Set frmPreview = Nothing
frmPreview.Show
In the vast majority of cases, you can add the Set statement in VB6 without changing the application’s behavior. If you notice that the VB6 application is affected somehow, though, you can achieve the desired effect by means of an InsertStatement pragma:
frmPreview.Show