Per l'ora tarda ho fatto un po di confusione e adesso mi spiego meglio.
La domanda esatta era: Come verificare se un form è aperto.
Io voglio l'elenco di tutti i form aperti (sia visibili che nascosti).
Chiarisco con un esempio:
1) ho 4 form (a,b,c,d)
2) da ciascuno dei form a,b,c posso aprire il form d
3) nell'evento Form_Close del form d, devo stabilire quale dei form a,b,c è il form chiamante.
Lavorando sempre con un unico form con il focus, con la soluzione seguente ho la cronologia dei form aperti, in cui quello con indice 0 è l'ultimo aperto.
Ho creato in una classe una matrice:
STATIC PUBLIC MatriceForm AS String[100]
All'evento OPEN del form:
classe.MatriceForm.Add("nomeform", 0)
All'evento CLOSE del form
classe.MatriceForm.Remove(0)