Jump to content
vasco16

duvida mdichild

Recommended Posts

vasco16

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?

Share this post


Link to post
Share on other sites
jpaulino

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()

Share this post


Link to post
Share on other sites
vasco16

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

Share this post


Link to post
Share on other sites
vasco16

Obvio que não!

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

sim já percebi. falha minha :S

obrigado :D

Share this post


Link to post
Share on other sites
vasco16

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..

Share this post


Link to post
Share on other sites
jpaulino

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.

Share this post


Link to post
Share on other sites
vasco16

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

Share this post


Link to post
Share on other sites
Weasel

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


Knowledge to the masses


Share this post


Link to post
Share on other sites
vasco16

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

Share this post


Link to post
Share on other sites
Weasel

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)


Knowledge to the masses


Share this post


Link to post
Share on other sites
vasco16

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

Share this post


Link to post
Share on other sites
vasco16

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..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.