Como hago para hacer un array de componentes en C#

Respuesta de
a
Usuario
¿Cómo hago para hacer un array de componentes en C#?

Por ejemplo en visual basic, para hacer un array de shapes había que insertar el componente shape y luego copiar el componente y pegarlo en el mismo form, de esta manera visual basic te preguntaba si querías hacer un array de este componente y le ponía que si...
Experto
Mira, crea un Form y despues declara

CheckBox[] array;

dentro del contructor puedes poner esto despues del llamado a InitializeComponents

array = new CheckBox[2];
for (int i=0; i<2; i++) {
array = new CheckBox();
array.Location = new Point(20*i,20*i);
array.Checked = true;
this.Controls.Add(array);
}

Ya con esto tienes 2 checkbox uno al lado del otro.

Cuando pongas el diseño de la forma no los veras pero cuando ejecutes la aplicación si saldrán los componentes.

Escríbeme a mi dirección, ernestofreyre@yahoo.com
Usuario
Gracias!.. tu solución es una posibilidad, pero encontré un documento en la página de microsoft y otro en la página del guille:
http://guille.costasol.net/NET/dotnet/arrayControles.htm

http://www.microsoft.com/spanish/msdn/articulos/archivo/170502/voices/vbtchCreatingControlArraysInVisualBasicNETVisualCNET.asp

¿Qué brinda un mejor posibilidad... pero tengo dudas... te mando un mail OK?
Experto
mickro, entiendo tu preocupación, pero no creo que el editor de Windows Form de .NET para C# permita tal acción, te puedo dar una solución un poco menos visual.

Crea un array del Componente que quieras.

Componente[] array = new Componente[tamanno];

o

Componente[,] arraybi = new Componente[tamannoX,tamannoY];

E inicializa cada uno de los valores del array en un ciclo para lograr posicionar los componentes donde tu quieras.




for (int i=0; i<array.Count; i++) {
array = new Componente();
array.Location = new System.Drawing.Point(20*i, 20);
}

o

for (int i=0; i<tamannoX; i++) {
for (int j=0; j<tamannoY; j++) {
array[i,j] = new Componente();
array[i,j].Location = new System.Drawing.Point(20*i, 20*j);
}
}

Esto al menos posicionara los elementos que crees en el arreglo de manera ordenada en la pantalla. (¿Ideal para juegos de tablero no?)

Si tienes otras dudas escríbeme.
Usuario
No entiendo muy bien, ¿me lo podrías explicar paso por paso?

¿Cómo haría para hacer un array de CheckBox, por ejemplo?

CkeckBox[] array;
array = CheckBox[2];

¿Con esto estaría creando un array de checkbox's de 2 elementos?

¿Ahora qué hago?
¿Voy a la parte de diseño e inserto dos checkbox?

¿Me podrías dar un ejemplo real? , por ejemplo, hacer un array de checkbox y mediate un bucle marcar su propiedad Checked como True....