Imágenes

Hola experto.saludos.. Tengo un problema.
He creado un formulario que funciona de la siguiente manera: en un Combobox tengo un listado con los nombre de algunas señalizacones de transito al yo dar click en algún Item de la lista me trae la respectiva imagen equivalente al item. Pero estas imágenes hacen el programa muy pesado ocupando mucho en la memoria.el código que he empleado es el siguiente:
Private Sub ComboBox1_Change()
If ComboBox1.Value = "Señalizaciones trabajos sobre zonas verdes" Then
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
Image6.Visible = False
Image7.Visible = False
Image8.Visible = False
Image9.Visible = False
Image10.Visible = False
Image11.Visible = False
Image12.Visible = False
Image13.Visible = False
Image14.Visible = False
End If
If ComboBox1.Value = "Señalización trabajos sobre andén y accesos peatonales con excavación" Then
Image1.Visible = False
Image2.Visible = True
Image3.Visible = False
Image4.Visible = False
Image5.Visible = False
Image6.Visible = False
Image7.Visible = False
Image8.Visible = False
Image9.Visible = False
Image10.Visible = False
Image11.Visible = False
Image12.Visible = False
Image13.Visible = False
Image14.Visible = False
End If
End sub
Y así sucesivamente para 20imagenes no se si hay alguna forma más sencilla de hacerlo ya que de esta el código es demasiado largo, un ciclo por cada imagen.
Gracias por tu ayuda.
Espero tu respuesta
1

1 respuesta

Respuesta
1
Hola.
Tienes razón, esa no es la mejor forma de hacerlo, porque estás usando muchos objetos con imágenes.
Te recomiendo usar la función LoadPicture, con la cual podrás tener todos los archivos (de las imágenes) en un directorio y simplemente llamar cada una de acuerdo con el valor que se encuentre en tu combobox.
La usas de esta forma:
Image1.Picture = LoadPicture("c:\dir\file.gif")
Por otro lado, anidar If es una forma de hacer lo que intentas, pero te recomiendo que intentes utilizar un Case, que te será más sencillo y fácil de leer.
Si necesitas ayuda sobre la forma de usar el Case, no dudes en preguntar.
Saludos, Tavopz

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas

Usar botón de comando para bajar línea

2 respuestas - Hola, quiero introducir los datos en una factura desde un formulario, pero...

Como hacer que una fila con datos cambie de color el texto si la primera celda de esa fila tiene un texto determinado

2 respuestas - Por ejemplo si la celda A5 dice "Partida" que esta y las demás celdas de...

Manejo base de datos excel

1 respuesta - Buenas tardes, tengo una nueva duda. Tengo dos hojas de excel con distintos...

Macro para encontrar faltantes de una serie

2 respuestas - Hola expertos: Necesito una macro que me permita recorrer una columna que...

¿Cómo copiar o filtrar datos de una celda a un LISTBOX, según TEXTBOX? Visual Basic

1 respuesta - Hola Dante, aquí te pregunto de nuevo, tal y como me lo dijiste. Mientras...

BuscarV al modificar una celda

1 respuesta - Estimados, tengo una base de datos, que quiero automatizar por lo tanto...

Userform o macro para buscar todos los datos de un cliente solo con el numero de CI, que están almacenados en una base de datos.

2 respuestas - Hasta el momento tengo este formulario, lo que necesito es que al ingresar...

Como Programar un Label en un Formulario para que ejecute una resta

2 respuestas - Para Dante Hola Amigo tengo una consulta tengo un formulario que niene dos...