Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

sabing

c# mdiparent

Mensagens Recomendadas

sabing    0
sabing

Pessoal eu estou com uma duvida eu estou fazendo um programinha, tenho um formulario mãe que abre varios formulario quando eu abro um formulario dentro do formulario mãe ele abre do jeito que quero quando vou abrir um outro formulario apartir que ja esta aberto não tenho ideia como fazer para abrir entende? tipo eu uso esse codigo em c# para abrir formulario dentro do formulario mãe

private void padrãoToolStripMenuItem_Click(object sender, EventArgs e)

{

Calculadora bb = new Calculadora();

bb.MdiParent = this;

bb.Show();

}

Imagem do meu programinha:

http://www.4shared.com/account/dir/HzMs8hp_/_online.html#dir=HzMs8hp_

Então eu quero que quando eu clico em um botão do formulario filho ele abra outro formulario dentro do formulario mãe, mais eu não tenho ideia como fazer isso entende?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
renafi    3
renafi

Se bem eu percebi, no button click do formulário filho, tens de pegar o formulário pai:

Form pai = this.ParentForm;

E depois associar esse objecto como MdiParent:

NovoForm f = new NovoForm();

f.MdiParent = pai;

NovoForm.Show();


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sabing    0
sabing

olha como fiz

mae pai = this.ParentForm;

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

olha como fiz

mae pai = this.ParentForm;

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

Esse da erro nem compila

Esse não funciona

mae pai = new mae();

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
renafi    3
renafi

O que é que não funciona? Qual é o erro?


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sabing    0
sabing

Meu amigo eu fiz esse codigo , pelo que tu falou eu entendi assim não sei foi isso que você me passou , da erro e nem compila:

mae pai = this.ParentForm; // essa linha da erro

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

Eu fiz um outro codigo assim porem compila mais não funciona:

mae pai = new mae();

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

Error 1 Cannot implicitly convert type 'System.Windows.Forms.Form' to 'ControleFazenda.mae'. An explicit conversion exists (are you missing a cast?) C:\Users\Familia\Desktop\Controle de Estoque\ControleFazenda\ControleFazenda\Vender.cs 271 27 ControleFazenda

Erro do codigo abaixo:

mae pai = this.ParentForm; // essa linha da erro

ReciboVendaComum f = new ReciboVendaComum();

f.MdiParent = pai;

f.Show();

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
DiogoFialho    0
DiogoFialho

Pelo que eu percebi o que tu queres fazer é abrir um formulário "neto" do form mdi, certo?

Caso seja isso, poderás fazer o seguinte:

FormFilho Filho = new FormFilho();
Filho.MDIParent = this;
Filho.Show();

FormNeto Neto = new FormNeto();
Neto.ShowDialog();

Assim irás abrir um form em show dialog do form anterior aberto.

Mas atenção porque, ao fechares o form que abriu o neto, o neto também será fechado.

Caso queiras isso, terás de jogar com o Hide e o Show, mas isso é perigoso, pois se te ocorre uma excepção na aplicação o processo poderá ficar pendurado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sabing    0
sabing

para abrir o formulario neto eu fiz assim

ReciboVendaComum Neto = new ReciboVendaComum();

Neto.ShowDialog();

ele abre porem fora do pai como se fosse independente da aplicação

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
DiogoFialho    0
DiogoFialho

Experimenta fazer o seguinte então:

FormNeto Neto = new FormNeto();
Neto.MDIParent = FormFilho.MDIParent;
Neto.Show();

Não te esqueças que o Filho tem de estar anteriormente declarado e definido como filho MDI do form Principal.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sYnced    1
sYnced

Experimenta fazer o seguinte então:

FormNeto Neto = new FormNeto();
Neto.MDIParent = FormFilho.MDIParent;
Neto.Show();

Não te esqueças que o Filho tem de estar anteriormente declarado e definido como filho MDI do form Principal.

Este é o metodo que uso e dá me sempre certo...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sabing    0
sabing

Muito obrigado! funcionou

FormNeto Neto = new FormNeto();

Neto.MDIParent = FormFilho.MDIParent;

Neto.Show();

Eu quebrei a minha cabeça com isso ! :P

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.