Usuário com melhor resposta
Fechar varios forms deixando apenas um aberto

Pergunta
-
Boas pessoal
Alguem me diz como posso ao clicar um botao fechar todos os forms e deixar apenas o form principal aberto?
Eu estava a ir por este caminho, mas penso que não é assimFor i = 0 To My.Application.OpenForms.Count - 1
If My.Application.OpenForms.Item(i).Name <> Principal.Show Then
My.Application.OpenForms.Item(i).Close()
End If
Next
Respostas
-
Bem eu não testei o procedimento do daniel acredito que o dele funcione, mais se caso vc não conseguir tenta esse daqui>>>
Elimina: Try For Each frm As Form In My.Application.OpenForms If Not frm.GetType() = GetType(Form1) Then frm.Close() End If Next Catch ex As Exception GoTo Elimina End Try
- Editado Jonnathanvb sexta-feira, 25 de abril de 2014 16:46
- Sugerido como Resposta Jonnathanvb sexta-feira, 25 de abril de 2014 18:10
- Marcado como Resposta Giovani Cr segunda-feira, 28 de abril de 2014 16:18
Todas as Respostas
-
amigo o codigo tá quase lá,
tenta assim:
For Each frm As Form In My.Application.OpenForms
' quando o tipo do formulario aberto não for o mesmo tipo do form1 então ele fecha o form If not frm.GetType() = GetType(form1) Then frm.close End If Next
- Sugerido como Resposta Jonnathanvb sexta-feira, 25 de abril de 2014 13:32
-
-
Vai dar erro pq vc altera a coleção no momento do laço, faça um loop decrescente usando um for :
For i As Integer = My.Application.OpenForms.Count - 1 To 0 Step -1 If My.Application.OpenForms.Item(i) IsNot Me Then My.Application.OpenForms.Item(i).Close() End If Next i
Veja que a condição é feche todos os forms abertos menos este que é o Me
-
Bem eu não testei o procedimento do daniel acredito que o dele funcione, mais se caso vc não conseguir tenta esse daqui>>>
Elimina: Try For Each frm As Form In My.Application.OpenForms If Not frm.GetType() = GetType(Form1) Then frm.Close() End If Next Catch ex As Exception GoTo Elimina End Try
- Editado Jonnathanvb sexta-feira, 25 de abril de 2014 16:46
- Sugerido como Resposta Jonnathanvb sexta-feira, 25 de abril de 2014 18:10
- Marcado como Resposta Giovani Cr segunda-feira, 28 de abril de 2014 16:18
-
-