La proprietà " .MaxLength " dell'Oggetto TextBox, non ritorna il numero di caratteri sino ad allora immessi, bensì ritorna il numero massimo di caratteri inseribili, impostato con la medesima proprietà precedentemente.
Raggiunto il numero massimo, semplicemente non sarà più possibile inserire ulteriori caratteri nel "TextBox".
Esempio pratico:
Private b As Byte
Public Sub Form_Open()
TextBox1.MaxLength = 10 ' Imposto "preliminarmente" il numero massimo di caratteri inseribili nel TextBox
Print TextBox1.MaxLength ' Verifico il numero massimo di caratteri inseribili nel TextBox, da me precedentemente impostato
End
Public Sub TextBox1_Change() ' Evento sollevato quando inserisco (o tolgo) un carattere nel TextBox
Inc b
Print b; "° carattere"
End
Volendo ottenere il risultato da te desiderato, dovrai invece utilizzare solo la proprietà " .Length " dell'Oggetto "TextBox".
Esempio:
Public Sub TextBox1_KeyRelease() ' Evento sollevato quando inserisco un carattere nel TextBox con la tastiera
If TextBox1.Length > 25 Then
Message.Info("Hai raggiunto il limite massimo di caratteri", "OK")
TextBox1.SetFocus
Endif
End