Obtener Valores De PictureBox


Objetivo: Obtener Valores De PictureBox
Que tal, saludos a la comunidad desde mi primer mensaje omito los datos de mis versiones por que creo que no son necesarios para este problema, bueno al grano, tengo 2 imagenes, una que representa un led apagado y otra uno prendido, dentro de su nombre indica que tipo de led es (apagado.jpg) quiero que dando un click sobre la imagen se "prenda" y dando otro se "apague", para eso necesito saber que imagen estoy mostrando y así cambiar a la otra, entonces necesito el texto cargado en el "picture" de mi imagen, osea la ruta completa aunque solo me interesa el nombre, para cambiarla por la otra, por ejemplo con algo así:

Dim estado As String

estado = CString(Led_1_1.Picture.Text)

pero me tira error, se que puedo usar banderas, pero son casi 1000 leds que simulare simultaneamente así que no quiero declarar 1000 banderas, gracias y saludos.

Perfil MP  
Objetivo: Re: Obtener Valores De PictureBox
Bienvenido Erick.

Debes usar la propiedad Picture del PictureBox.

Si el Picturebox tiene ya asignada la imagen de apagado Puedes hacer lo siguiente usando el evento MouseDown (No tiene evento Click).

Con un solo led.

Public Sub PictureBox1_MouseDown()

If PictureBox1.Picture = Picture["Apgado.png"] Then
PictureBox1.Picture = Picture["Encendido.png"]
Else
PictureBox1.Picture = Picture["Apagado.png"]
Endif

End


Si lo que quieres es hacer lo mismo con mas leds debes usar una array de controles.
Tienes que hacer uso de la propiedad grupo y tag (es como un indice que nos dice que elemento
del array ha sido seleccionado).

Para ello usamos la propiedad last (ultimo). Si a last le añadimos .propiedad
en este caso Picture, tendríamos:

En mi caso he creado el grupo bombillas.

Public Sub Bombillas_MouseDown()

If Last.Picture = Picture["LIGHTOFF.PNG"] Then
Last.Picture = Picture["LIGHTON.PNG"]
Else
Last.Picture = Picture["LIGHTOFF.PNG"]
Endif

End

Es el mismo código para todos los picturebox.

Aquí tienes el código para que lo estudies.

Saludos

última edición por Shell el Domingo, 02 Junio 2013, 19:53; editado 1 vez

Bombillas.tar.gz
Descripción:  
Descargar
Nombre del archivo: Bombillas.tar.gz
Tamaño: 6.86 KB
Descargado: 36 veces
Bombillas.tar.gz
Descripción:  
Descargar
Nombre del archivo: Bombillas.tar.gz
Tamaño: 6.86 KB
Descargado: 36 veces
Bombillas.tar.gz
Descripción:  
Descargar
Nombre del archivo: Bombillas.tar.gz
Tamaño: 6.86 KB
Descargado: 36 veces

Objetivo: Re: Obtener Valores De PictureBox
Muchas gracias, con los eventos no tengo problemas, no había pensado en comparar un picture con otro picture aunque era tan obvio jajaja, hace años que no programo en gambas y ya me ando oxidando, voy a checar el código que me mandas, gracias de nuevo.

Perfil MP  
Objetivo: Re: Obtener Valores De PictureBox
Quizas sea más rápido usar la propiedad .tag, y en vez de comparar imágenes, comparar un texto:

If PictureBox1.tag = "apagado" Then
PictureBox1.tag = "encendido"
Else
PictureBox1.tag = "apagado"
Endif


Y tambien seria más rápido comparar directamente con un boolean...

if picturebox1.tag=true then
picturebox1.tag=false
else
picturebox1.tag=true
endif



Saludos

Objetivo: Re: Obtener Valores De PictureBox
Julio:

Entonces se le puede asignar a tag no solo valores como un índice si no que se le puede asignar cadenas y valores booleanos.
Esto tengo que verlo.

La primera vez intente hacerlo con una variable boolean, para un led valdría.
El problema ocurre cuando son mas. No es solo un led.

Ya puestos incluso se puede crear la clase led, pero eso seria complicarlo mas.
Queda mejor desde luego.

Saludos

Objetivo: Re: Obtener Valores De PictureBox
Shell:

Citar:
clase led

Si eso seria todavia mejor, mucho más claro, y más fácil de reutilizar y ampliar. Por ejemplo se le podia poner una propiedad para indicar el color del led...

Objetivo: Re: Obtener Valores De PictureBox
tag es un variant. Puede almacenar casi cualquier cosa (salvo objetos) puedes meterle, por ejemplo un variant[] que contenga todo lo que te te apetezca de todas las clases y formas de datos válidos.

Tag Mola.

Perfil MP  
Objetivo: Re: Obtener Valores De PictureBox
Genial, en este momento solo estoy con la documentación de mi proyecto, en unas semanas me meto de lleno con la programación y probaré todas las opciones que me comentan, ahorita y para dar una idea de como trabajará funcionó a la perfección las picture dentro del if, aunque lo de las tag suena interesante, también la clase led, lastima que en mi proyecto ocupare puros leds rojos pero en cuanto arme el circuito a ver que pasa, muchas gracias por sus respuestas, vayan estudiando la comunicación de gambas y pic18f4550 vía usb que les hare muchas preguntas jajajajaja XD

Perfil MP  
Objetivo: Re: Obtener Valores De PictureBox
Citar:
vayan estudiando la comunicación de gambas y pic18f4550 vía usb que les hare muchas preguntas

No esta en gambas, es en java... Enlace


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.7604s (PHP: -84% SQL: 184%)
Consultas SQL: 48 - Debug off - GZIP Activado