Hola a todos, esto aprendiendo a programar en vb.net y estoy haciendo una aplicación que tiene una especie de carrusel de imágenes, lo detallo.
En tiempo de ejecución creo un array bidimensional de picturebox lo instacio, lo posiciono , , cargo imágenes de resources etc...
Código vb:
Ver originalFor j = 0 To 1
For k = 0 To 10
imagenes(j, k) = New PictureBox
imagenes(j, k).Location = New Point(0, 0)
imagenes(j, k).Size = New Point(87, 105)
imagenes(j, k).Name = "imagenes"
imagenes(j, k).BackgroundImageLayout = ImageLayout.Stretch
imagenes(j, k).TabIndex = 101
Next
Next
Luego tengo un botón en el cual al poner el ratón hago que las imágenes se desplacen hacia la derecha. Esto lo hago mediante un thread(hilo) que tiene un while que se ejecuta siempre y hace que se muevan las imágenes cuando pongo el ratón encima.
Código vb:
Ver originalWhile True
If giro = True Then
For i = 0 To 10
imagenes(indice, i).Location = New Point(imagenes(indice, i).Location.X - 5, imagenes(indice, i).Location.Y)
Next
Thread.Sleep(10)
End If
End While
Ademas tengo otro while que comprueba si las imágenes ya no se muestran en el formulario y las pone al final para conseguir un efecto ruleta.
Código vb:
Ver originalWhile True
For i = 0 To 10
If imagenes(indice, i).Location.X < 80 Then
imagenes(indice, i).Location = New Point(ultimo.location.x + 95, imagenes(indice, i).Location.Y)
ultimo = imagenes(indice, i)
End If
Next
'End If
End While
Esto ultimo me lo hace bien, pero el tema de mover las imágenes de izquierda a derecha no lo hace fluido...
conoceis la forma de optimizar este movimiento, o hacer q renderice mejor?
PD: las imagenes q estoy utilizando so jpeg de una resolucion normal-pequeña y pesan alrededor de 46kB
GRACIAS DE ANTEMANO