Microsoft KB Archive/97620

= How to Use the Forms Collection to Unload All MDI Child Forms =

Article ID: 97620

Article Last Modified on 12/12/2003

-

APPLIES TO


 * Microsoft Visual Basic 2.0 Standard Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 2.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition

-



This article was previously published under Q97620



SUMMARY
You can use Visual Basic code to close all MDI children by using the forms collection. The forms collection contains references to all forms -- the MDI parent form, MDI children forms, and non-MDI forms. To unload or close all MDI forms, loop through the forms collection testing the value of the MDIChild property on each form. If the MDIChild property is true, unload the form.



Steps to Create Example
 Start Visual Basic or from the File menu, choose New Project (ALT, F, N) if Visual Basic is already running. Form1 is created by default. Change the MDIChild property of Form1 to True. From the File menu, choose New MDI Form (Alt+F+I). This creates the MDIForm1 MDI parent form.  From the Window menu, choose Menu Design (ALT+W+M), and create the following menu with two menu items on MDIForm1:   Caption     Name         Indent --  File        mFile       no   New         mNew        once Close All  mCloseAll   once

  Add the following code to the general declarations section of MDIForm1. Dim ChildCount As Integer

  Add the following code to the mNew event handler. Sub mNew_Click Dim newWindow As New Form1 ChildCount = ChildCount + 1 newWindow.Caption = &quot;Child &quot; & Str$(ChildCount) newWindow.Show End Sub

</li>  Add the following code to the mCloseAll_Click event handler. Sub mCloseAll_Click i = 1 Do While i < Forms.Count If forms(i).MDIChild Then ' *** Do not increment i% since a form was unloaded Unload forms(i) Else ' Form isn't an MDI child so go to the next form i = i + 1 End If     Loop ChildCount = 0 End Sub

</li> From the Options menu, choose Project. Make MDIForm1 the Start Up Form.</li> From the Run menu, choose Start (ALT, R, S) to run the program.</li> From the File menu on MDIForm1, choose New. Repeat this several times.</li> From the File menu on MDIForm1, choose Close All to unload all the MDI children.</li></ol>

Additional query words: 2.00 3.00

Keywords: KB97620

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.