• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vasco16

duvida mdichild

17 mensagens neste tópico

boas pessoal gostaria de saber como posso fechar uma MDIchild(não sei se é este o nome), ou seja, tenho um menu principal e alguns subformularios (filhos- que sao abertos dentro desse menu principal) e quero fecha-lo quando carrego num botão para abrir outro, ja consegui fazer com que ele nao seja aberto 2 vezes.

  For Each f As Form In Me.MdiChildren

            If f.Text = "vendedores" Then

                MessageBox.Show("O formulário vendedores já está aberto.")

                Exit Sub

            End If

        Next

        vendedores.MdiParent = Me

        vendedores.Show()

mas mesmo assim se o abrir uma vez e depois abrir outro formulario e tentar voltar ao 1º nao dá diz que já está aberto.. o que queria era mesmo fechar o 1º quando o 2º fosse aberto.. algum sabe como fazer isto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Podes fazer ver se o form está aberto pelo nome e fecha-lo. Depois abres o que queres abrir.

Tens aqui um exemplo simples:

        Dim frmOpen As Form = My.Application.OpenForms("test")
        If frmOpen IsNot Nothing Then
            frmOpen.Dispose()
        End If

        Dim frm As New MDIChildForm
        frm.Name = "test"
        frm.MdiParent = Me
        frm.Show()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Podes fazer ver se o form está aberto pelo nome e fecha-lo. Depois abres o que queres abrir.

Tens aqui um exemplo simples:

        Dim frmOpen As Form = My.Application.OpenForms("test")
        If frmOpen IsNot Nothing Then
            frmOpen.Dispose()
        End If

        Dim frm As New MDIChildForm
        frm.Name = "test"
        frm.MdiParent = Me
        frm.Show()

o programa diz que

"        Dim frm As New MDIChildForm"

mdichildform nao está definido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obvio que não!

Isso é o nome do teu form (o que queres abrir)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obvio que não!

Isso é o nome do teu form (o que queres abrir)

sim já percebi. falha minha :S

obrigado :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está a funcionar como queres ?

sim está, só um é que nao, porque este está como child e o que quero é que ele abra outro child..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim está, só um é que nao, porque este está como child e o que quero é que ele abra outro child..

Tu comes palavras e assim é dificíl.

Explica bem o que queres, por ninguém está a ver o programa e dificilmente adivinha.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu comes palavras e assim é dificíl.

Explica bem o que queres, por ninguém está a ver o programa e dificilmente adivinha.

Peço desculpa :$

Então é o seguinte, tenho um formulario principal e outros secundários e no principal tenho um espaço reservado para abrir formularios secundarios, mas eu abro-os consoante o botão que escolher no formulario principal, mas a minha duvida é como é que faço para que atraves de um formulario secundário, que está dentro do formulario principal, abrir um outro secundário, nesse mesmo espaço reservado.

tudo isto, porque o VB da-me este erro:

O formulário que foi especificado como sendo MdiParent para este formulário não é um MdiContainer.

Nome do parâmetro: value

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não metes uma função dentro da form principal para esse efeito, depois era só chamar a funcção através da child form

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não metes uma função dentro da form principal para esse efeito, depois era só chamar a funcção através da child form

nao percebi :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na form parent crias uma função similar ao menu que usas para abrir e fechar as form child, que irás usar através da tal form.

Algo do estilo no form Parent

Public Sub close_frmchld(nomeForm As String)

código para fechar a form nomeForm

End Sub

E no form child só chamavas frmMain.close_frmchld(nome da form)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na form parent crias uma função similar ao menu que usas para abrir e fechar as form child, que irás usar através da tal form.

Algo do estilo no form Parent

Public Sub close_frmchld(nomeForm As String)

código para fechar a form nomeForm

End Sub

E no form child só chamavas frmMain.close_frmchld(nome da form)

e como faço para abrir um child no espaço de um child? ou seja abrir um child num child

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de mostrar uma imagem ... acho que ninguém está a entender.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de mostrar uma imagem ... acho que ninguém está a entender.

por exemplo:

60331142.png

o que estou a fazer é tendo um form principal que engloba tudo (sendo este o mdiparent) abrir um form child no panel.. e o que queria era do child abrir outro child, no mesmo espaço.. se é que me faço entender..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora