Jump to content
Diogo Dias

Cópia/Passagem de um panel entre forms

Recommended Posts

Diogo Dias

Boas,

Estou a fazer um projecto para mero entretenimento e cheguei a um pequeno percalço.

Na minha aplicação existe o form1 e form2. O form1 tem um botão que acede ao form2. O form2 tem um panel com controlos lá dentro.

O que eu gostava de fazer era, em vez de abrir o form2, copiar o panel e mostrá.lo dentro do form1.

Para ser mais fácil de perceber, eu quero agarrar no panel do form2 e mostrar no form1, como se este se tratasse de um "mdi" de panels.

Até agora já criei uma instância do form2 e meti o panel em public, para que consiga aceder-lhe no form1. O meu problema é que não sei como fazê-lo aparecer no meu form1. Tentei criar um panel no form1 e igualár-lhe o outro panel, mas não fez nada.

Se alguém me conseguir ajudar agradeço bastante.

Share this post


Link to post
Share on other sites
nelsonr

Boas,

ia responder que podes fazer isto para copiar os controlos de um form para outro:

Form3 frm3=new Form3();
foreach(Control ctrl in frm3.panel1.Controls)
panel1.Controls.Add(ctrl);

Já que resolveste, se puderes coloca o que fizeste, para que possa ajudar outros membros que estejam na mesma situação

Share this post


Link to post
Share on other sites
Diogo Dias

O que fiz foi basicamente o mesmo.

Aqui fica o meu código:

List<Control> ctrls = new List<Control>();
foreach (Control c in form2.Controls)
ctrls.Add(c);

this.Controls.AddRange(ctrls.ToArray());

Edited by apocsantos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

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