Criar Objectos em c#

J_Oliveira

Power Member
Boas Pessoal , estou a fazer aplicação e precisava que quando recebe-se um determinado dado fosse criado no Form uma serie de objectos! um panel, 1 label 3 picturebox etc.

Eu já criei um metodo onde isso acontece, mas apenas uma vez, eu queria que sempre que esse metodo fosse utilizado , fosse criado 1 novo panel com a label e as picturebox la dentro, uns centimentos mais abaixo.


Alguem já fez alguma coisa parecida e pode me dar umas luzes sobre este assunto?
 
Uma forma de o fazeres seria atribuir a cada panel uma coordenada X,Y (contando que a label e as picturebox estão dentro do panel):

Código:
// alterar a localização dinamicamente
object_panel.Location = new Point(X, Y);

// coordenadas para o panel número 2
X = panel1_X;
Y = panel1_Y + altura_panel1 + uns_centimetros_abaixo;

// coordenadas para o panel número 3
X = panel2_X;
Y = panel2_Y + altura_panel1 + uns_centimetros_abaixo;

// ou

X = panel1_X;
Y = panel1_Y + (2 * altura_panel1) + (2 * uns_centimetros_abaixo);

Se conseguires implementar de outra forma partilha :)
 
Diria que o melhor é criar um usercontrol e usar o FlowLayoutPanel para suportar os vários objectos.

Ou seja, o usercontrol iria ter os objectos que precisas (1 panel, 1 label, 3 picturebox), e os métodos e/ou propriedades para preenchimento desses objectos.

No form, bastava então adicionar vários objectos (do tipo do usercontrol que criares) ao FlowLayoutPanel (este controlo permite colocar os elementos seguidos, sem andar a fazer contas de pixeis e elementos existentes).
 
Back
Topo