COMO ESCONDER TODOS OS FORMS

USUARIO.EXCLUIDOS 16/04/2007 10:27:37
#212061
eu criei uma rotina simples para esconder os forms

Dim oForm as Form
For Each oForm in VB.Forms
oForm.Hide
Next oForm

Porém, quando um form modal está aberto, ele dá mensagem "Must close or hide topmost modal form first", ou seja, ele esta tentando esconder primeiro o form mais de baixo, correto?

como eu faria para tratar isso?
USUARIO.EXCLUIDOS 16/04/2007 10:57:01
#212063
Resposta escolhida
No objetos Forms vc pegará na ordem de abertura, e o Each pega do primeiro ao último, sendo assim se fazer um loop do último ao primeiro vai conseguir o que deseja:

Dim i As Integer
For i = Forms.Count - 1 To 0 Step -1
Forms(i).Hide
Next i


Qualquer dúvida poste...flw
USUARIO.EXCLUIDOS 16/04/2007 11:21:31
#212071
deu erro de Subscript Out of Range...
e eu nao mudei nada do codigo que vc me passou, ta igualzinho

e testei com tres forms abertos, um sendo modal

Up.: tinha de ser i - 1 ;]
ta funcionando agora
Tópico encerrado , respostas não são mais permitidas