Foros del Web » Programación para mayores de 30 ;) » .NET »

Seleccionar una imagen

Estas en el tema de Seleccionar una imagen en el foro de .NET en Foros del Web. Hola a tod@s!!! Estoy haciendo una aplicación en la cual se muestran 4 imagenes (picturebox) en un formulario. Lo único que quiero hacer es poder ...
  #1 (permalink)  
Antiguo 05/10/2010, 05:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años, 1 mes
Puntos: 0
Seleccionar una imagen

Hola a tod@s!!!

Estoy haciendo una aplicación en la cual se muestran 4 imagenes (picturebox) en un formulario. Lo único que quiero hacer es poder seleccionar cualquiera de ellas para poder mostrar algunos datos asociados a cada imagen.

Mi problema surge al darme cuenta que los PictureBox no se pueden seleccionar.

Agradecería si alguien puediera darme alguna sulución

Muchas Gracias!
Kolroff.
  #2 (permalink)  
Antiguo 05/10/2010, 05:43
 
Fecha de Ingreso: septiembre-2009
Ubicación: Medellin
Mensajes: 21
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seleccionar una imagen

Lo que podes hacer es usar el evento click de cada imagen.

otra solucion seria que agregaras las imagenes a un datagridview, seria mas facil se almacenaras las imagenes en un imageList.

eso se me ocurre en el momento, si no sabes como hacerlo, decime cual de las dos formas queres implementar y te lo explico mas detalladamente.
  #3 (permalink)  
Antiguo 05/10/2010, 11:05
 
Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Seleccionar una imagen

Hola sergio701, muchas gracias por contestar!!!

He probado lo del evento click y para lo que pedía me ha resultado buena solución, el tema es que necesitaría también poder navegar entre las 4 fotos con las flechas de dirección del teclado y tras cacharrear un poco he notado que:
- La clase PuctureBox no tiene evento KeyPress, ni KeyDown, ni KeyUp.
- Haciendo pruebas sobre un botón, no he sido capaz de caputrar las flechas del teclado, capturo casi todas las letras pero hay algunas "especiales" que no hace nada. Muestro el código a continuación:

private void button1_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyCode.ToString());
}

La funcionalidad de la aplicación sería que al hacer click sobre una imagen apareciera el código y el nombre del producto, y también poder moverme con las flechlas del teclado entre una imagen y otra con idéntico resultado.

No se si es posible, a lo mejor tendría que barajar la posibilidad del DataGridView, ¿tu que opinas?

Muchas gracias por todo!!!
Kolroff.

Te añado una foto de lo que sería el prototipo del interfaz de la aplicación
  #4 (permalink)  
Antiguo 05/10/2010, 17:00
 
Fecha de Ingreso: septiembre-2009
Ubicación: Medellin
Mensajes: 21
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seleccionar una imagen

Si lo que quieres es navegar entre varios productos mediante las teclas, para cargar una imagen y descripcion del mismo. se me ocurre usar un TrackBar. voy a poner algo de codigo con un ejemplo de 4 productos donde mostramos la imagen del producto y cargamos la descripcion del producto en un textbox. En C# que creo que es en lo que estas trabajando.

Primero agregamos el trackBar. miramos las propiedades del trackbar y le asignamos a la propidad "Maximum" el valor 3 y a "Minimum" 0 asi podremos desplazarnos por los 4 productos 0,1,2,3.

Luego Agregamos un picturebox donde queremos que se vayan a mostrar las imagenes, que sea del tamaño de las imagenes, supongo que todas tienen el mismo tamaño.

Luego agregamos un ImageList donde cargaremos las imagenes de los productos.
en las propiedades del imageList asignamos a la poropiedad "ColorDepth" el valor 'Depth32Bit' y luegos en la propidad "Images" agregamos las imagenes de los productos.

Hecho eso solo hay que agregar un poco de codigo.

Vamos al evento "ValueChanged" del trackBar y agregamos el siguente codigo:

pictureBox1.Image = imageList1.Images[trackBar1.Value];

if (trackBar1.Value == 0)
{
textBox1.Text = "descripcion producto 0";
}

if (trackBar1.Value == 1)
{
textBox1.Text = "descripcion producto 1";
}

if (trackBar1.Value == 2)
{
textBox1.Text = "descripcion producto 2";
}

if (trackBar1.Value == 3)
{
textBox1.Text = "descripcion producto 3";
}


Y Listo, con eso es sifuciente. Puedes darle el foco al trackBar al cargar el form y asi el usuario podra navegar con las flechas inmediatamente.


Espero que eso te sierva de algo.

Última edición por sergio701; 05/10/2010 a las 17:07
  #5 (permalink)  
Antiguo 18/10/2010, 10:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Seleccionar una imagen

Muchas gracias por contestar, siento el retraso, pero esque he tenido un poco dejado de lado este proyecto.

Al final estoy implementando la idea del trackBar y tiene muy buena pinta, pero me surge la siguiente duda:

Digamos que tengo una gran cantidad de productos almacenados en la BD (de los que tengo que mostrar las imagenes en el programa según sean seleccionados).
- ¿Debo cargar la imagen del disco al programa según vayan siendo seleccionadas?,
- o por el contrario ¿debo cargarlas todas al arrancar la aplicación a un ImageList desde la BD y acceder a él según necesite las fotos?

¿Cual de estas dos opciones sería mas eficiente?, porque probé cargando la imagen directamente desde el disco al programa (sin ImageList) cada vez que seleccionaba un producto y tardaba mucho en pasar de un producto a otro (por el peso de la imagen).

Muchas gracias por adelantado!
  #6 (permalink)  
Antiguo 18/10/2010, 13:02
 
Fecha de Ingreso: septiembre-2009
Ubicación: Medellin
Mensajes: 21
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Seleccionar una imagen

Si tienes muchos productos y los tienes almacenados con la imagenes en una base de datos y como me imagino que luego se agregaran mas productos, yo haria lo siguente.

Pondria un listview con la propiedad View=Details con la lista de los productos y tal ves alguna otra informacion en otra columna, como el codigo. El listview lo cargas desde la base de datos. Tambien asignale la propiedad FullRowSelect = true y multiselect = false.

Al lado del listview pondria un picturebox.

Ahora. en el evento SelectedIndexChange del listview pon una funcion que te retorne la imagen del producto y se la asigne al picturebox. la imagen la tres desde la base de datos. Tambien puedes cargar cualquier otra informacion del producto que necesites.

con el listview se navegaria entre los productos con las flechas arriba y abajo.

Explicame bien en que consiste el proyecto, para tener una imagen mas general y te podre ayudar mas.

cualquier duda
[email protected]

Etiquetas: picturebox, seleccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:38.