Duda con Len

Iniciado por Braayhaan, 25 Agosto 2010, 03:24 AM

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

Braayhaan

Tengo una pequeña pregunta...

Si por ejemplo yo uso "Label1.Text = CStr(Len(Textbox1.text))"

Hay dice que vaya aumentando la cifra del label según los caracteres del txtbox.

Ahora lo que necesito es que disminuya ejemplo.

Si tengo en un label "20" y quiero que al escribir vaya descendiendo como lo podría hacer?

Thanks ;)

[D4N93R]

Tendrías que tener una variable con la cantidad inicial.. y restarle lo que ya tienes..

criskapunk

Se me ocurrio algo asi:

Código (vbnet) [Seleccionar]
   Private Sub txtTexto_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTexto.KeyUp
       lblNum.Text = lblNum.Text - 1
   End Sub


Previamente le tendrias que haber asignado al label el valor a partir del cual queres que cuente.

Un saludo ;)

Braayhaan

Criska me funciono bien el codigo pero el problema es que al borrar me sale el caracter con el -1.

Lo puse en el textchanged del txtbox y trate con varios if pero me sigue saliendo alguna idea?

criskapunk

Podrias poner algo asi, pero igualmente tiene algunos problemas:

Código (vbnet) [Seleccionar]
    Dim num As Integer

    Private Sub txtTexto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTexto.KeyUp
        num = lblNum.Text
        If num > 0 Then
            lblNum.Text -= 1
        End If
    End Sub


Con este codigo, si superas la cantidad de caracteres mostrados en el label, el contador va a permanecer en cero, evitando los numeros negativos (Podrias poner algo como que al llegar a cero, el TextBox pase a modo de solo lectura).

Pero sigue teniendo algunos problemas, por ejemplo, si borras carecteres, el contador no se incrementa.

Estoy tratando de solucionarlo, soy bastante nuevo en vb.net :P

Un saludo ;)