Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/11/2010, 14:53
azuel
 
Fecha de Ingreso: febrero-2009
Mensajes: 147
Antigüedad: 15 años, 10 meses
Puntos: 1
Busqueda Moviento de imagenes! vb.net

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 original
  1. For j = 0 To 1
  2.             For k = 0 To 10
  3.                 imagenes(j, k) = New PictureBox
  4.                 imagenes(j, k).Location = New Point(0, 0)
  5.                 imagenes(j, k).Size = New Point(87, 105)
  6.                 imagenes(j, k).Name = "imagenes"
  7.                 imagenes(j, k).BackgroundImageLayout = ImageLayout.Stretch
  8.                 imagenes(j, k).TabIndex = 101
  9.             Next
  10.         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 original
  1. While True
  2.             If giro = True Then
  3.                 For i = 0 To 10
  4.                     imagenes(indice, i).Location = New Point(imagenes(indice, i).Location.X - 5, imagenes(indice, i).Location.Y)
  5.                 Next
  6.                 Thread.Sleep(10)
  7.             End If
  8.         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 original
  1. While True
  2.             For i = 0 To 10
  3.                 If imagenes(indice, i).Location.X < 80 Then
  4.                     imagenes(indice, i).Location = New Point(ultimo.location.x + 95, imagenes(indice, i).Location.Y)
  5.                     ultimo = imagenes(indice, i)
  6.                 End If
  7.             Next
  8.             'End If
  9.        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