CONTADOR DE CARACTERES

MOUSER 06/03/2014 10:27:26
#435583
Eu lembro q tinha feito algo similar, mas perdi o projeto q tinha um contador de caractere para definir o limite de caracteres de uma textbox, alguém sabe me informar o código, ele tem q informar o limite de caracteres, e conforme a pessoa vai digitando, vai diminuindo o numero limite de caracteres, igual a caixa de texto q a gente tem aqui no site. Mas quero jogar isso no VB.Net... Desculpem pela perda de tempo por algo simples... é que estou correndo um pouco e ficando quase sem tempo para poder fazer pesquisas...
CLEVERTON 06/03/2014 11:22:58
#435588
Para definir a quantidade de caracteres vc muda a propriedade maxlenght do textbox

Para contar é só usar

messagebox.show(textbox1.text.lenght.tostring() & [Ô] de [Ô] & textbox1.maxlenght.tostring())

MOUSER 06/03/2014 13:39:26
#435600
mas como faço para uma Label receber o valor da maxlenght, pelo q entendi ele vai reduzindo o valor de acordo com os caracteres...
ASHKATCHUP 06/03/2014 13:52:03
#435604
Resposta escolhida
A propriedade [Ô]MaxLenght[Ô] serve para definir o número máximo de caracteres que podem ser digitados.

Para fazer essa funcionalidade de [Ô]ir reduzindo[Ô], tu tem que usar um pouco de lógica de programação.

O número de caracteres restantes é calculado por: MaxLenght - Lenght, como o Cleverton postou acima.
MOUSER 06/03/2014 14:07:38
#435605
Então para mim apresentar o q Maxlenght em uma label, tenho q usar o Lenght, por exemplo:
LABEL1.TEXT =textbox1.text.lenght.tostring no caso para fazer o inverso como vc disse é usar um pouco a lógica e acabei de ter umas ideias de como fazer isso... Obrigado....
ASHKATCHUP 06/03/2014 14:21:27
#435606
Primeiramente, pense em algo genérico, sem vincular ao teu caso. Isso facilita a formação da lógica de programação.

Por exemplo, conte clips de papel.

Se eu tenho 10 clips de papel e usei somente 1, terei 9 sobrando. Por outro lado, se eu usei 2, terei 8 sobrando. E, por fim, se eu utilizei 6, terei 4 sobrando.

Todos os casos acima são definidos pela expressão matemática TOTAL - USADO.

E a mesma lógica serve para o caso do TextBox.

A propriedade MAXLENGTH é fixa (ou seja, só se altera ela através de programação). Por outro lado, a propriedade LENGTH conta quantos caracteres (letras, numeros, simbolos) foram digitados.

Então, para saber quantos caracteres sobram, basta utilizar a mesma expressão: TOTAL - USADO .

Adaptando isso ao textbox, tu deve calcular através da subtração MAXLENGTH - LENGTH

Ou seja:


Dim iLivre as integer
[ô]
iLivre = TextBox1.MaxLength - TextBox1.Length
[ô]
Label1.Text = iLivre.ToString()
MOUSER 06/03/2014 14:50:25
#435607
Tem outro meio alem deste para fazer a contagem...
é que este meio q criei, ele recebe sempre o valor -1 da quantidade real de caracteres... no caso, se tem 7 ele apresenta 6...

Private Sub TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Label1.Text = TextBox1.Text.Length.ToString()
End Sub
ASHKATCHUP 06/03/2014 14:54:05
#435608
Lembra que o evento KEYPRESS é ativado ANTES da tecla ser [Ô]escrita[Ô] no textbox. Então, por óbvio, a propriedade [Ô]Length[Ô] vai retornar -1 se comparado com o valor real.

é só colocar TextBox.Text.Length +1

Tópico encerrado , respostas não são mais permitidas