elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  array de controles
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: array de controles  (Leído 4,895 veces)
Sr.Morocco

Desconectado Desconectado

Mensajes: 5


Ver Perfil
array de controles
« en: 12 Marzo 2010, 00:39 am »

Hay alguna forma de hacer un array de pictureBox en c#? Sé que en visual basic lo hacía, pero no encuentro nada para csharp.

En caso de que no se pueda como podría hacer para que en un picturebox aleatorio me meta una imagen aleatoria?
Ahora lo tengo así
Código:
pictureBox1.Image = System.Drawing.Image.FromFile(img[RDM]);
de manera que me mete una imagen aleatoria pero también quiero que lo inserte en un picturebox aleatorio.


« Última modificación: 12 Marzo 2010, 00:42 am por Sr.Morocco » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: array de controles
« Respuesta #1 en: 12 Marzo 2010, 13:24 pm »

MMm.. no se si haya una forma mas directa, pero por ahora se me ocurre algo asi

Código
  1. int elegido = 2; // Aca haces que sea aleatorio, yo puse un ejemplo
  2. int i = 0;
  3. foreach (PictureBox pb in this.Controls) {
  4.    if (i == elegido) {
  5.        pb.Image = System.Drawing.Image.FromFile(img[RDM]);
  6.        break;
  7.    }
  8.    i++;
  9. }
  10.  

Con eso deberia funcionar :)


En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: array de controles
« Respuesta #2 en: 12 Marzo 2010, 16:45 pm »

Hola, no se si entendí bien. A ver, tienes varios PictureBox? Y quieres establecerle a un pictureBox aleatorio una imagen aleatória?

Uhm, creo que va algo así:

Código
  1. //Escenario, primero crear varios picturebox en el formulario.
  2.  
  3. List<PictureBox> pictureBoxList = new List<PictureBox>();
  4. List<Image> imagesList = new List<Image>();
  5.  
  6. imageList.Add(Image.FromFile("SampleImage1.jpg"));
  7. imageList.Add(Image.FromFile("SampleImage2.jpg"));
  8. imageList.Add(Image.FromFile("SampleImage3.jpg"));
  9.  
  10. //Con esto metes todos los PB en una lista.
  11. foreach (Control c in this.Controls)
  12. {
  13.    if(c is PictureBox)
  14.    {
  15.        pictureBoxList.Add(c as PictureBox);
  16.    }
  17. }
  18.  
  19.  
  20. Random rand = new Random();
  21.  
  22. pictureBoxList[rand.Next(0, pictureBoxList.Count)].Image = imagesList[rand.Next(0, imagesList.Count)];
  23.  

Esto debería servirte :D
En línea

Sr.Morocco

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: array de controles
« Respuesta #3 en: 13 Marzo 2010, 18:44 pm »

Gracias, ahora ya me funciona. Al final me ha quedado así:

Código
  1.            int RDM = 0;
  2.            int aleatorio = 0;
  3.            string[] img = guardar_cargar.cargar("C:\\imagenes.txt");
  4.  
  5.            List<PictureBox> pictureBoxList = new List<PictureBox>();
  6.  
  7.            foreach (Control c in this.Controls)
  8.              {
  9.                 if (c is PictureBox)
  10.                 {
  11.                     pictureBoxList.Add(c as PictureBox);
  12.                 }
  13.              }
  14.  
  15.  
  16.            for (int i = 0; i < 6; i++)
  17.            {  
  18.                //copia las imagenes aleatoriamente en pircturebox aleatorios
  19.                RDM = repeticiones("C:\\imagenes.txt"); //funcion que comprueba que no se repita ningun random
  20.                aleatorio = repeticiones_pb(); //funcion que comprueba que no se repita ningun random
  21.                pictureBoxList[aleatorio].Image = System.Drawing.Image.FromFile(img[RDM]);
  22.  
  23.                //copia en los pirturebox las imagenes que han tocado antes para hacer la pareja
  24.                aleatorio = repeticiones_pb();
  25.                pictureBoxList[aleatorio].Image = System.Drawing.Image.FromFile(img[RDM]);
  26.            }

El codigo es para hacer un juego de esos que hay cartas tapadas y tienes que acertar parejas.
« Última modificación: 13 Marzo 2010, 18:51 pm por Sr.Morocco » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: array de controles
« Respuesta #4 en: 15 Marzo 2010, 18:43 pm »

Ah ok! jeje que bueno que te haya servido.. Un saludo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Array de Controles con Eventos en VB.NET
.NET (C#, VB.NET, ASP)
bybaal 3 3,548 Último mensaje 20 Enero 2021, 06:50 am
por bybaal
Tabla con controles cruzados
Desarrollo Web
oscarcaronte 3 2,542 Último mensaje 6 Abril 2021, 14:23 pm
por UnaiiM
cheat en vb.net con controles
.NET (C#, VB.NET, ASP)
Pirolox 2 2,516 Último mensaje 8 Marzo 2022, 19:59 pm
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines