Home
Search
 
What's New
Index
Books
Links
Q & A
Newsletter
Banners
 
Feedback
Tip Jar
 
C# Helper...
 
XML RSS Feed
Follow VBHelper on Twitter
 
 
MSDN Visual Basic Community
 
 
 
 
 
TitleMake a window appear modal when it is not
Keywordsform, modal, fake modal
CategoriesControls, Tips and Tricks, Software Engineering
 
In some cases, you may want to display a non-modal form while a modal form is visible. Unfortunately that's not possible. Instead you can use this trick to make a form seem modal when it isn't.

The following code displays the fake modal form.

 
Private Sub cmdShowFakeModalForm_Click()
    Set frmFakeModal.ParentForm = Me
    frmFakeModal.Show
End Sub
 
This code is in the fake modal form. When the form loads, it disables its parent form. When it unloads, it enables the parent form.
 
Public ParentForm As Form

Private Sub Form_Load()
    If Not (ParentForm Is Nothing) Then ParentForm.Enabled _
        = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If Not (ParentForm Is Nothing) Then ParentForm.Enabled _
        = True
    Set ParentForm = Nothing
End Sub
 
Note that this only disables one parent form. If you want the fake form to seem modal with respect to more than one existing form, disable and enable them all.
 
 
Copyright © 1997-2010 Rocky Mountain Computer Consulting, Inc.   All rights reserved.
  Updated