Usuario
Ayuda con trackbar1

Pregunta
-
hola buenos dias: Mi pregunta es tengo un trackbar1 de nombre en mi formulario, lo que pretendo hacer es que cuando lo mueba a derechoa o izquierda, osea en mas o en menos, pueda controlar la velocidad para mostrar una serie de imágenes, Se puede controlar la velocidad de imagen con esta herramienta trackbar ??? y como podría ser el código, gracias de ante mano muchas gracias
Todas las respuestas
-
Lo tendrías que hacer indirectamente a través de una variable intermedia. El trackbar lo que te devuelve es un valor numérico que puedes guardar en una variable. Y luego esa variable la emplearías en aquella parte de tu código que estés usando para animar las imágenes. Por ejemplo, si las estás animando con un Timer, podrías usar el valor del trackbar para calcular el intervalo del Timer, a continuación cambiarle el intervalo y reiniciar el Timer. O si la animación la estás haciendo con un bucle que dentro hace una pausa con un Sleep, entonces el valor del Sleep lo calcularías a partir de esa variable que antes cambiaste mediante el trackbar. Si nos pones aquí el código que estás usando para la animación, podemos ayudarte a ver cómo se encajaría dentro del mismo el valor del trackbar.
- Propuesto como respuesta Joel C. Naupa Crispín lunes, 18 de julio de 2016 5:24
-
If PictureBox11.Location = New Point(916, 430) Then PictureBox64.Visible = False 'NEGRA A LA DERECHA Dim retraso As Integer retraso = 1200 + GetTickCount While retraso >= GetTickCount Application.DoEvents() End While Reproducir() Dim bm As Bitmap = PictureBox14.Image bm.RotateFlip(RotateFlipType.Rotate270FlipXY) Me.PictureBox14.Image = bm PictureBox14.Location = New Point(500, 430) PictureBox14.Width = 73 PictureBox14.Height = 39 PictureBox29.Visible = True PictureBox32.Visible = False Exit Sub End If
Hola sr. Alberto talvez no me esplique bien, no pretendo hacer animaciones, lo que pretendo es que en este código que te dejo, la parte donde esta el retraso se pudiera de alguna manera poder controlar esos miles segundos de alguna forma con el control trackbar o talvez con una barra de desplazamiento, para que tome su valor y llamar al procedimiento para la velocidad de presentación de todas las imágenes. gracias de nuevo Se puede hacer esto?? -
lo que pretendo es que en este código que te dejo, la parte donde esta el retraso se pudiera de alguna manera poder controlar esos miles segundos de alguna forma con el control trackbar o talvez con una barra de desplazamiento, para que tome su valor
¡Pero si eso es precisamente lo que te he contestado! El código que has mostrado ES una animación en el sentido en el que hablábamos de ella en la respuesta anterior. Y estás efectivamente haciendo una pausa en donde pones la variable "retraso" y usas un bucle para esperar a que los ticks alcancen el valor del retraso. Y el valor del retraso es ese "1200" que has puesto. Simplemente, en lugar del 1200 pon el valor que extraes del trackbar. O una operación a partir de dicho valor, por ejemplo, si el trackbar lo tienes configurado para que devuelva un número del 0 al 100, puedes multiplicarlo por 12 para que salga un número de 0 a 1200, y luego el resultado de ese cálculo lo pones donde tienes el 1200.
-
-
Fíjate en donde pones esto:
retraso = 1200 + GetTickCount
Cámbialo por esto otro:
retraso = trackBar1.Value * 12 + GetTickCount
Y ahora vuelve a leer la respuesta anterior y fíjate bien en que este cambio es exactamente lo que ponía en el texto: "en lugar del 1200 pon el valor que extraes del trackbar. O una operación a partir de dicho valor, por ejemplo, si el trackbar lo tienes configurado para que devuelva un número del 0 al 100, puedes multiplicarlo por 12 para que salga un número de 0 a 1200, y luego el resultado de ese cálculo lo pones donde tienes el 1200". Ojo, ese "12" que yo he escrito es solo un ejemplo. Tendrás que ajustarlo para que te salgan valores coherentes con la configuración que le hayas puesto al trackbar en el diseño de tu pantalla.
-