none
Ayuda con trackbar1 RRS feed

  • 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

    domingo, 17 de julio de 2016 8:34

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.
    domingo, 17 de julio de 2016 13:54
  •  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??
    domingo, 17 de julio de 2016 16:54
  • 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.
    domingo, 17 de julio de 2016 17:38
  • Hola de nuevo sr. Alberto, gracias por tu respuestas pero no en tiendo muy bien lo que me dices en tu ultima respuesta, podrías poner un código de ejemplo te lo agradecería mucho. un saludo
    
    domingo, 17 de julio de 2016 22:58
  • 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.

    lunes, 18 de julio de 2016 6:20
  • Perfecto Sr. Alberto, muchísimas gracias por tu ayuda y paciencia con migo, ha sido de muchísima utilidad, un saludo.

    lunes, 18 de julio de 2016 7:19