MDI question


I am trying out my first MDI app and I have a question. In my main MDIForm, I am able to create multiple instances of a child form. Is there a way for me to iterate thru all of the child forms, regardless of how many are up? I want to be able to do this without keeping a static counter. Also, if anyone could point me to a good site that could enlighten me on the ins and outs of VB MDI's I would appreciate it.

Who is Participating?
   Dim I As Integer

    For I = 0 To Forms.Count - 1
       If TypeOf Forms(I) Is frmMyForm Then
           Forms(I).ZOrder 0
       End if    

Where frmMyform is the name of the from you are looking for. You might also do something like:

if Forms(I).caption = "ME" then
Éric MoreauSenior .Net ConsultantCommented:
dim x as form

for each x in forms
   msgbox x.caption
<<Is there a way for me to iterate thru all of the child forms, regardless
of how many are up?>> The way I do this is by using the forms collection.  I set the Tag property of all child forms to "child". For example I add a menu option under a Windows menu "Close all child windows".  The code looks like this:

Private Sub mnuWinCloseChild_Click()
Dim n as integer
On Error Resume Next
Do While n < Forms.Count
   If Forms(n).Tag = "child" Then
      Unload Forms(n)
      n = n + 1
   End If
End Sub

Hope this helps...

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

PS: The reason the loop is While < Forms.Count is that Forms(1) will always be the MDI parent...
jhamlettAuthor Commented:
cool, those all work great. thanks for all the input.
jhamlett, you should accept or reject the "forced" answer by ventond.  If you leave this question sitting here "locked" few people will bother to look at it and give you further input...  
jhamlettAuthor Commented:
my bad, thought I had accepted the answer, hehe
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.