Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Misael Correia

C# Visual Studio 2008

Recommended Posts

Bom pessoal, estou com o seguinte problema.

 

Tenho uma aplicação pra desenvolver para meu TCC em C#.

Presciso fazer com que um formulário principal carregue todos os outros forms dentro dele mesmo (excessão as telas de erros e tals) sem que repita um formulário x.

Ex:

Se eu já tiver um form2 aberto dentro do form principal, e pedir pra que abra outro form2, não aceitar, mas que permita abrir um "form3".

Consegui uma parte das seguintes maneiras:

 

Maneira 1 (com um panel dentro do formulário principal):

 

this.IsMdiContainer = true;

FormSecundario novoForm = new FormSecundario();

novoForm.MdiParent = this;

panelMostrarFormSec.Controls.Add(novoForm);

novoForm.Show();

 

Maneira 2(usando o form principal como MDI):

 

 

frmSec form2 = new frmSec();

prt.MdiParent = this;

form2.show();

 

O problema é o seguinte:

Usando o container(Panel) - sempre que abro um form a ser carregado dentro do panel, ele vai pro final dos forms, ou seja, se já tem um form aberto dentro do panel, o segundo form aberto ao invéz de vir pro topo do panel, vai pro final dele, ficando escondido .

 

Usando o form principal como MDI - O primeiro form que for aberto dentro do form principal abre normalmente, já o segundo vai abrindo de forma cascata. Gostaria que todos eles abrissem ancorado no canto superior esquerdo.

 

Problema com ambos (form MDI ou Panel):

Se já existir algum formSec dentro do panel ou form principal e eu pedir pra que abra este mesmo formSec novamente, ele abre. Gostaria de saber se tem alguma solução pra quando já existe um formSec instanciado dentro desse panel, não abra outro, a não ser que o primeiro seja fechado.

 

Agradeço muito pela atenção e paciencia.

Aguardo respostas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.