Problema con TrackBar (Value y SmallChange)

Iniciado por z3nth10n, 3 Julio 2013, 20:18 PM

0 Miembros y 1 Visitante están viendo este tema.

z3nth10n

Hola buenas, pues estoy haciendo una app para trolear un poco sin maldad ( :silbar:) >:D

Y pos bueno; ehm... tengo este code, a ver si lo entendéis:

Código (vbnet) [Seleccionar]
Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
        Dim scv As Integer = TrackBar1.Value.ToString
        Dim scc As Integer = TrackBar1.SmallChange
        Dim uni As String = "ms"

        If scv = 1000 Then
            uni = "s"
            scv = scv \ 1000
        End If

        Label4.Text = scv & uni
        If scv = 10 Then
            scc = 15
        ElseIf scv = 25 Then
            scc = 25
        ElseIf scv = 50 Then
            scc = 50
        ElseIf scc = 1000 Then
            scc = 1000
        End If
    End Sub


Muy bien, lo que hace esto es que a cada X value del TrackBar se vaya alternando el SmallChange, para que se haga más grande...

Esto se lo salta con papas, y a parte el Label4.Text no cambia la unidad, pero si el value. :S

Un saludo.

Interesados hablad por Discord.

Eleкtro

#1
1. la integridad del code está mal:
Código (vbnet) [Seleccionar]

Dim scv As Integer = TrackBar1.Value.ToString


Le pasas un valor de string a una variable entera, funciona, pero deberías corregirlo...

2. En ningún momento intentas modificar la propiedad smallchange del trackbar, lo que modificas es la variable que contiene el valor de la propiedad (scc), con lo cual, no modificas nada.

Código (vbnet) [Seleccionar]
   Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll

       Dim scv As Int32 = sender.Value
       Dim scc As Int32 = sender.SmallChange
       Dim uni As [String] = "ms"

       Select Case scv
           Case Is >= 1000
               scv = scv \ 1000
               uni = "s"
               sender.SmallChange = 1000
           Case Is >= 50
               sender.SmallChange = 50
           Case Is >= 25
               sender.SmallChange = 25
           Case Is >= 15
               sender.SmallChange = 15
       End Select

       Label4.Text = (scv & uni).ToString

   End Sub


Saludos








z3nth10n

#2
Y porque no me cambia los SmallChanges, se supone que cuando este en 10ms, debería pasar a 25, y luego a 50, de ahí en 50 en 50 hasta 1000 y lo demás como solo son 1,2,3,4,5,6,7,9 y 10, pues no se ven los decimales, pero supongo que tampoco irán... :-\

Me acabo de dar cuenta, que si le doy con la flecha del teclado si va :laugh:

Sobre tu EDITO, ehm si lo dejo tal como me lo pasaste tu, me va por igual, :silbar:

Interesados hablad por Discord.

Eleкtro

Cita de: Ikillnukes en  3 Julio 2013, 20:45 PM
Y porque no me cambia los SmallChanges

Te lo acabo de decir, porque tu cambias el valor de la variable SCC no el valor de trackbar1.smallchange

¿Te has molestado en probar el código que he puesto?, ahí lo tienes todo corregido.

saludos








z3nth10n

#4
Si lo estoy probando, ya con tu code! ;D
Y no nos hemos fijado en el LargeChange XD

Interesados hablad por Discord.