Newsgroup: it.comp.lang.visual-basic
Titolo: chiudere le finestre MDIchild

Salve! Quesito:
come si fa da codice a chiudere tutte le finestre MDIchild aperte senza
chiudere la MDIpadre?
                                 Ciao e grazie delle risposte!!!!!!

chiudere la MDIpadre?
Questo dovrebbe funzionare (e chiude SOLO le MDIChild):
Dim i As Integer
Dim b As Boolean
    Do
        b = False
        For i = Forms.Count - 1 To 0 Step -1
            If TypeOf Forms(i) Is MDIForm Then
            Else
                If Forms(i).MDIChild = True Then
                    b = True
                    Unload Forms(i)
                    Exit For
                Else
                End If
            End If
        Next
    Loop While b = True
--
Ciao.
Maurizio

Questo dovrebbe funzionare (e chiude SOLO le MDIChild):
[SNIP]
Oppure, in versione 'compatta':
Dim i As Integer
For i = Forms.Count - 1 To 0 Step -1
    If Not TypeOf Forms(i) Is MDIForm Then
        If Forms(i).MDIChild = True Then Unload Forms(i)
    End If
Next
Ciao.
--
Luca Dormio
l...@sig-la.com
ldo...@tin.it


Se le form Child sono tutte istanze di un'unica form, cioč se sono tutte di
tipo, ad esempio, frmDocumento, puoi fare cosě:
Dim oggetto As Form
For Each oggetto In Forms
     If 
oggetto.name
 = "frmDocumento" Then
         Unload oggetto
    End If
Next
Se invece hai form Child istanziate da diversi prototipi di frm child devi
fare:
Dim oggetto As Form
For Each oggetto In Forms
     If Not TypeOf oggetto Is MDIForm Then
         If oggetto.MDIChild = True Then
                    Unload oggetto
         End If
     End If
Sono sempre la migliore, non c'č che dire ^_~
Ciao

Next
Tu hai ragione ed il tuo codice funziona ma a me l'idea di effettuare un
ciclo tante volte quanto e' il valore di qualcosa che poi cambia mentre il
programma gira... mette un certo disagio. Sono pazzo? Superstizione?
Eppoi... Aborro :) le versioni compatte. Massime quelle con If ... Then ...
Else ... sullo stesso rigo (trovo, tra l'altro, difficolta' in un mai
eventuale debug). Evito il Not come la peste. Come stile mi sono imposto di
scrivere *sempre* queste tre righe
If ... Then
Else
End If
anche quando non occorrerebbe; e, prima o poi, capita di dover scrivere
qualcosa nel ramo 'secco', ed e' gia' pronto. Superstizione? Sono pazzo?
Boh?
--
Ciao.
Maurizio

Superstizione? Sono pazzo?
Spero che nessuno, nel frattempo, abbia risposto perche' Meimi e' gia' stata
esauriente (brucia un po' ma spero che passi.)
--
Ciao.
Maurizio

programma gira... mette un certo disagio. Sono pazzo? Superstizione?
Assolutamente; infatti nonostante la sintassi usata da Meimi nell' altro
messaggio sia ineccepibile, in questi casi mette disagio anche a me fare il
ciclo 'in avanti' e infatti ho usato anch'io lo step -1, sono le piccole manie
dell'informatico...
Sull' If..then..else e i not non sono cosi' rigoroso ma sai com'e'.... si diceva
di un tale che programmava in C e commentava in assembler ;)


esauriente (brucia un po' ma spero che passi.)
Cosa brucia??? Il fatto che sono più bravA di molta gente qui? O che sono
molto più intelligente? Ti da così fastidio??? mah
Ciao

mah
mah
Se hai voglia puoi rileggerti i post del thread e vedrai che hai sparato
alle ombre.
Dico questo perche', non vedendo le tue solite faccine, sono costretto a
pensare che le tue parole non siano ironiche. E mi dispiace.
--
Ciao.
Maurizio


;_; si che erano ironiche... non penso di essere più intelligente di tutti.
Ciao ^_^