Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: sexto en 1 Marzo 2011, 19:08 pm



Título: Varias imágenes y labels en un for
Publicado por: sexto en 1 Marzo 2011, 19:08 pm
A ver si me entendéis que es un poco complicado de explicar.

Tengo un formulario en C# (Windows Forms), en el tengo varios Labels y PictureBox que relleno mediante código (accediendo a una BD MySQL).
Lo que quiero hacer es, en vez de poner en el código:
Código
  1. Label1.Text = tal;
  2. Label2.Text = tal;
  3. Label3.Text = tal;
  4. etc
  5.  
hacerlo de tal forma que con un for me los rellene todos, algo parecido a:
Código
  1. for (int i = 0; i < 3; i++)
  2. {
  3.     label[i].Text = tal;
  4. }
  5.  
Ya se que no es con esos corchetes, pero es para que se me entienda...

Es posible?

Muchas gracias.


Título: Re: Varias imágenes y labels en un for
Publicado por: [D4N93R] en 1 Marzo 2011, 19:39 pm
Hola,

Una simple búsqueda en google: el primer resultado: http://www.dreamincode.net/code/snippet1238.htm

Recuerda buscar tanto dentro como fuera del foro antes de preguntar.

Un saludo!


Título: Re: Varias imágenes y labels en un for
Publicado por: sexto en 1 Marzo 2011, 20:08 pm
Muchas gracias pero...

No lo entiendo xD


Título: Re: Varias imágenes y labels en un for
Publicado por: seba123neo en 2 Marzo 2011, 01:27 am
No lo entiendo xD

miralo bien, lo que hace el codigo es recorrer los controles que hay en el formulario, y setearle algun valor segun sea el tipo del control (textbox, combo..etc.)

vos solo necesitas label, lo que el codigo seria algo asi:

Código
  1. public static void ClearForm(System.Windows.Forms.Control parent)
  2. {
  3.    foreach (System.Windows.Forms.Control ctrControl in parent.Controls)
  4.    {
  5.         if (object.ReferenceEquals(ctrControl.GetType(), typeof(System.Windows.Forms.Label)))
  6.         {
  7.              ((System.Windows.Forms.TextBox)ctrControl).Text = "aca va el dato";
  8.         }
  9.     }
  10. }

saludos.


Título: Re: Varias imágenes y labels en un for
Publicado por: sexto en 2 Marzo 2011, 10:19 am
Yo concretamente lo quiero en labels y en imágenes, pero
1º Hay varios labels a parte de los que quiero cambiar.
2º En cada label/imagen quiero un dato distinto, que lo coge de una base de datos.


Título: Re: Varias imágenes y labels en un for
Publicado por: sexto en 2 Marzo 2011, 12:17 pm
Ya lo he conseguido, con un array de PictureBox.

Muchas gracias


Título: Re: Varias imágenes y labels en un for
Publicado por: sexto en 3 Marzo 2011, 09:39 am
Para el que le interese, he conseguido hacerlo con bastante menos código.
Los PictureBox tienen que llamarse Portada0, Portada1, Portada2, etc

Código:
for (int i = 0; i < 6; i++)
            {
                Portada[i] = new System.Windows.Forms.PictureBox();
                imagen = "URL" + list[1][i];
                StreamImagen = getUrl(imagen);
                Control[] miscontrols = panel1.Controls.Find("Portada" + i.ToString(), true);
                if (miscontrols.Length > 0)
                {
                    ((PictureBox)miscontrols[0]).Image = System.Drawing.Image.FromStream(StreamImagen);
                }
            }