Controlar que las imagenes se han terminado de cargar

27/02/2007 - 03:58 por Takedasan | Informe spam
Hola a todos,

llevo dandole vueltas a un asunto que me trae de cabeza, pues estoy
empezando a trabajar con VB 2005 y muchas cosas de VB6 ya no son validas y
ando algo perdido.
introduzco imagenes en desde una direccion web en un PictureBox y claro cada
una tarda diferente tiempo en cargarse, aunque sean del mismo tamaño y
definicion, es cuestion de la conexion establecida al momento de ejecutar la
orden.

El caso es que cargo esas imagenes y me gustaria saber como puedo hacer para
saber si las 12 imagenes se han terminado de cargar y asi permitir realizar
la vision de la secuencia, es decir, saber en que momento puedo dar sin miedo
al boton que presenta todas las imagenes, ya que si hay alguna que todavia se
esta cargando se bloquea, pues todavia, el contenido del PictureBox es
Nothing.

Gracias por la ayuda
 

Leer las respuestas

#1 SoftJaén
27/02/2007 - 14:51 | Informe spam
"Takedasan" preguntó:

El caso es que cargo esas imagenes y me gustaria saber como puedo hacer
para saber si las 12 imagenes se han terminado de cargar.



Hola:

Te informo que el control PictureBox de la versión 2.0 del marco de trabajo
de .net, tiene los siguientes eventos:

LoadCompleted. Se produce cuando la operación de carga de imagen asincrónica
se ha completado, se ha cancelado o ha provocado una excepción.

LoadProgressChanged. Se produce cuando ha cambiado el progreso de una
operación de carga de imagen asincrónica.

Pero para ello, deberás cargar la imagen mediante el método «LoadAsync», es
decir, de forma asíncrona, tal y como muestra el ejemplo que te indico,
sacado de la ayuda de Visual Studio:

Private Sub PictureBox1_LoadCompleted(...) Handles ...

MessageBox.Show("Imagen cargada.")

End Sub

Private Sub Button1_Click( ...) Handles ...

' Ensure WaitOnLoad is false.
PictureBox1.WaitOnLoad = False

' Load the image asynchronously.
PictureBox1.LoadAsync("http://localhost/print.gif")

End Sub

Private Sub PictureBox1_LoadProgressChanged(...) Handles ...

PictureBox1.LoadProgressChanged
progressBar1.Value = e.ProgressPercentage

End Sub

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares