FORM ABERTO
Como acho que não fui claro resolvi excluir e criar um novo tópico.
Tenho um mdi com o nome de principal.
Tenho também inúmeros outros forms como children, Ex: Registo de Paises, Pesquisa, Ruas, etc.....
Há tempos coloquei aqui um tópico pedindo uma ajuda, a minha dúvida era:
Queria que ao clicar no menu - Registo de Paises ou menu - Ruas, ele abrisse apenas uma vez o form e não inúmeras vezes, mas o problema era que eu uso o mesmo form só alterando botões e nomes dos campos, para não precisar criar vários forms.
Quanto a isso quero agradecer as respostas pois me ajudou e consegui resolver a questão.
Agora me deparei com outra dúvida:
Quando quero abrir dois forms não consigo, ele abre apenas um e preciso fechar para abrir outro, mesmo se for com forms diferentes.
gostaria que ao clicar no menu ele apenas verificasse os forms abertos, caso já esteja aberto apenas vinha para frente e se não estivesse abria-se.
fiz as seguintes linhas:
nos menus: Exemplo no menu RUAS
Private Sub RuasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RuasToolStripMenuItem.Click
Try
Dim childform As New Registos
verificar()
If verificar() = False Then
childform.MdiParent = Me [ô]Coloca o igreja como children
variaveldcf = [Ô]Registo de Ruas[Ô] [ô] atribui um valor a variavel
childform.Show() [ô]Exibe o formulário
Else
childform.BringToFront()
End If
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try
End Sub
Função Verificar:
Private Function verificar() As Boolean
Dim vetor() As String = {[Ô]Registo de Agente[Ô], [Ô]Registo de Agências[Ô], [Ô]Categorias de Serviços[Ô], [Ô]Registo de Concelhos[Ô], [Ô]Registo de Distritos[Ô], [Ô]Registo de Estado Civil[Ô], [Ô]Registo de Freguesias[Ô], [Ô]Registo de Paises[Ô], [Ô]Registo de Ruas[Ô], [Ô]Autorização do utilizador[Ô], [Ô]Registo de Saidas[Ô]}
verificar = False
For Each principal As Form In Me.MdiChildren
For A = LBound(vetor) To UBound(vetor)
If principal.Text = vetor(A) Then
verificar = True
Exit For
Else
verificar = False
End If
Next
Next
Return verificar
End Function
Só que vejo que não verificar todos os forms aberto e sim apenas um.
Tenho um mdi com o nome de principal.
Tenho também inúmeros outros forms como children, Ex: Registo de Paises, Pesquisa, Ruas, etc.....
Há tempos coloquei aqui um tópico pedindo uma ajuda, a minha dúvida era:
Queria que ao clicar no menu - Registo de Paises ou menu - Ruas, ele abrisse apenas uma vez o form e não inúmeras vezes, mas o problema era que eu uso o mesmo form só alterando botões e nomes dos campos, para não precisar criar vários forms.
Quanto a isso quero agradecer as respostas pois me ajudou e consegui resolver a questão.
Agora me deparei com outra dúvida:
Quando quero abrir dois forms não consigo, ele abre apenas um e preciso fechar para abrir outro, mesmo se for com forms diferentes.
gostaria que ao clicar no menu ele apenas verificasse os forms abertos, caso já esteja aberto apenas vinha para frente e se não estivesse abria-se.
fiz as seguintes linhas:
nos menus: Exemplo no menu RUAS
Private Sub RuasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RuasToolStripMenuItem.Click
Try
Dim childform As New Registos
verificar()
If verificar() = False Then
childform.MdiParent = Me [ô]Coloca o igreja como children
variaveldcf = [Ô]Registo de Ruas[Ô] [ô] atribui um valor a variavel
childform.Show() [ô]Exibe o formulário
Else
childform.BringToFront()
End If
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try
End Sub
Função Verificar:
Private Function verificar() As Boolean
Dim vetor() As String = {[Ô]Registo de Agente[Ô], [Ô]Registo de Agências[Ô], [Ô]Categorias de Serviços[Ô], [Ô]Registo de Concelhos[Ô], [Ô]Registo de Distritos[Ô], [Ô]Registo de Estado Civil[Ô], [Ô]Registo de Freguesias[Ô], [Ô]Registo de Paises[Ô], [Ô]Registo de Ruas[Ô], [Ô]Autorização do utilizador[Ô], [Ô]Registo de Saidas[Ô]}
verificar = False
For Each principal As Form In Me.MdiChildren
For A = LBound(vetor) To UBound(vetor)
If principal.Text = vetor(A) Then
verificar = True
Exit For
Else
verificar = False
End If
Next
Next
Return verificar
End Function
Só que vejo que não verificar todos os forms aberto e sim apenas um.
Preciso fechar o form Registo de Paises para abrir o form resgisto de Ruas
Ou para abrir o form Registo de Ruas Preciso fechar Registo de Paises
Veja nos links abaixo se é o que precisa.
http://vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=264220
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=325467
http://vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=264220
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=325467
Só que ele verifica apenas um form e preciso que veja todos, exemplo:
Ver form aberto
form abertos = Ruas, paises
se clicar nos menus ruas ou paises
form já esta aberto
se clicar em outro
abre mais um form
fim
só que esse modelos só verifica um nome mesmo se eu tiver mais de um form aberto
Ver form aberto
form abertos = Ruas, paises
se clicar nos menus ruas ou paises
form já esta aberto
se clicar em outro
abre mais um form
fim
só que esse modelos só verifica um nome mesmo se eu tiver mais de um form aberto
acho que o erro esta nesta parte:
Dim vetor() As String = {[Ô]Registo de Agente[Ô], [Ô]Registo de Agências[Ô], [Ô]Categorias de Serviços[Ô], [Ô]Registo de Concelhos[Ô], [Ô]Registo de Distritos[Ô], ....}
verificar = False
For Each principal As Form In Me.MdiChildren [txt-color=#e80000] Porque aqui sempre mostra um unico nome do form aberto [/txt-color]
For A = LBound(vetor) To UBound(vetor)
Exemplo como estou com o form Registo de Paises aberto no Me.mdichildren aparece somente este form não muda para os outros, mas não sei como corrigir
Dim vetor() As String = {[Ô]Registo de Agente[Ô], [Ô]Registo de Agências[Ô], [Ô]Categorias de Serviços[Ô], [Ô]Registo de Concelhos[Ô], [Ô]Registo de Distritos[Ô], ....}
verificar = False
For Each principal As Form In Me.MdiChildren [txt-color=#e80000] Porque aqui sempre mostra um unico nome do form aberto [/txt-color]
For A = LBound(vetor) To UBound(vetor)
Exemplo como estou com o form Registo de Paises aberto no Me.mdichildren aparece somente este form não muda para os outros, mas não sei como corrigir
Acho que este exemplo pode te ajudar
Claro que você terá de fazer ajuste para que se adeque ao seu programa, mas acho que é isto.
Claro que você terá de fazer ajuste para que se adeque ao seu programa, mas acho que é isto.
Tópico encerrado , respostas não são mais permitidas