• Lunes 18 de Noviembre de 2024, 22:28

Autor Tema:  Varios Picturebox  (Leído 3878 veces)

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Varios Picturebox
« en: Viernes 20 de Abril de 2007, 17:52 »
0
Hola amigos quiero pedir algo de ayuda,par un encargo que me dieron.

Tener aprox 200 PictureBox con su corespondiente imagen, para luego mostrarlos en un Form en tandas de 20, me pueden dar  ideas de como afrontar esto.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #1 en: Viernes 20 de Abril de 2007, 17:59 »
0
Si vas a mostrar 20 PictureBox a la vez entonces solo necesitas tener 20 PictureBox , el resto es rotar dinamicamente las imagenes en los picture box para lo cual pueds llegar a crear 200 objetos Bitmap, pero eso seria inefiente
lo mejor es cargar de a 20 imagenes a la vez desde disco para evitar sobrecargar la memoria.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #2 en: Viernes 20 de Abril de 2007, 18:09 »
0
Gracias Juank por tu pronta respuesta,voy a probar tu idea lo que me preocupa es que  el cambio de images tiene que ser practicamente instantaneo e ir sacandolo del disco     tendra un retardo a esto hay que sumarle que el equipo esta reproduciendo simultaneamente un archivo de video en mpeg.

Los PictureBox con su correspondiente imagen ¿pueden estar previamente guardados en una especie de coleccion para sacarlos de ahi en forma mas rapida?

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #3 en: Viernes 20 de Abril de 2007, 18:32 »
0
bueno , entonces no me hice entender.

el picturebox es mas pesado que la sola imagen
para guardar la imagen debes usar la clase Bitmap que es mas liviana y esta la puedes asignar a la imagen del picturebox ya que Bitmap hereda de Image (que es abstracta).

sin embargo cargar 200 imagenes en memoria creo que es demasiado.

lo que puedes hacer es tener cargadas 'digamos' 60 imagenes ( en objetos Bitmap) y muestras 20 en los 20 picturebox, pero cuando los muestras te aseguras de tener cargadas 20 imagenes antes y 20 imagenes despues en objetos Bitmap en memoria.

cuando avances a los siguientes 20, entonces muestras los 20 siguientes que ya tienes precargados, y mientras tienes un hilo que va cargando las siguientes 20 en memoria .
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #4 en: Viernes 20 de Abril de 2007, 18:42 »
0
Citar
cuando avances a los siguientes 20, entonces muestras los 20 siguientes que ya tienes precargados, y mientras tienes un hilo que va cargando las siguientes 20 en memoria

sorry!!  :huh: ¿como seria ese asunto del hilo? lo e oido nombrar pero como se trabaja con hilos .

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #5 en: Viernes 20 de Abril de 2007, 18:52 »
0
bueno hay muchas formas de hacerlo, unas mas fáciles, otras mas robustas, otras mas cortas pero menos legibles en fin...

para comenzar pegale una ojeada a System.Threading.Thread y busca los link en el foro de C# ( este foro) usando la opción de búsqueda.

si te quieres ir por cosas mas livianas pero un poco mas avanzadas para ti averiguate acerca de AsyncCallBack.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #6 en: Viernes 20 de Abril de 2007, 19:06 »
0
Gracias Juank por tu tiempo  ;) ,pondre los ojos en los link  B) y las manos en el teclado :comp: , te aviso luego como me fue.

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #7 en: Viernes 20 de Abril de 2007, 19:16 »
0
una ultima cosa en VB el control PictureBox tenia un index para direccionarlo,pero no logro encontrar esto en el VC#.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #8 en: Sábado 21 de Abril de 2007, 23:44 »
0
Cita de: "lalo_soft"
E VB el control PictureBox tenia un index para direccionarlo
no se a que te refieres.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #9 en: Domingo 22 de Abril de 2007, 02:19 »
0
Que en VBasic uno podia hacer un especie de arreglo de controles con un mismo nombre asignando un numero  a la propiedad index,pero en VC# los controles no tienen
la propiedad index.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #10 en: Domingo 22 de Abril de 2007, 06:48 »
0
asi es...
pero mejor
ya quer tu simplemente creas un PictureBox[]

eso es  todo... lo malo es que tendras que agregarlos manualmente y configurarle a todos las propiedades.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Varios Picturebox
« Respuesta #11 en: Lunes 23 de Abril de 2007, 13:40 »
0
asi pense que seria,me queda un detalle como le asigno un evento Click, este evento deve ser uno y el mismo para todos los PictureBox del array.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Varios Picturebox
« Respuesta #12 en: Lunes 23 de Abril de 2007, 14:13 »
0
de la misma forma, creas el delagado y se lo asignas al multicast delegate de los picture box...

bueno una forma fácil y que hace prácticamente lo mismo
es que tengas un PictureBox , le crees 'el evento' y luego en las propiedades de los demas PictureBox seleccionas el mismo evento que ya habias creado.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io