Non voglio lasciare vuoto un textbox

sabato 08 agosto 2009 - 09.51

Capa Profilo | Newbie

Come da titolo, come faccio a mantenere almeno uno 0 in ogni textbox?

Qualunque cosa faccia o digiti, almeno uno 0 deve rimane in ogni textbox.

Grazie a tutti. :)

Gianni77 Profilo | Junior Member

Potresti intercettare l'evento textchanged della textbox e se la lunghezza del contenuto è pari a "" (stringa vuota) allora ci fai scrivere uno zero, però devi fare in modo che quando uno ci scrive dentro, quello zero deve essere cancellato

Gianni77 Profilo | Junior Member

Allora, ti posto qui il codice completo per fare ciò che vuoi (ovviamente tenendo conto di tutte le complicazioni che ci sono gestendo una cosa fatta in questa maniera).

Suppongo che tu nella tua textbox voglia immettere soltanto numeri e basta (quindi niente punti virgole o altro). Ovviamente oltre ai numeri si deve fare in modo che l'utente possa premere il tasto BackSpace per cancellare.

Tieni conto che dovrai mettere uno "zero" in partenza nella textbox, poi arrivati a questo punto ti consiglio di mettere la proprietà textalign della textbox su "right"

Nell'evento Keypress rilevo il tasto premuto e consento soltanto di premere numeri e backspace, in caso contrario non sarà scritto nulla nella texbox, inoltre se nella textbox è presente soltanto zero, questo deve essere cancellato:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Infine gestisco l'evento TextChanged sia per fare in modo che venga messo il separatore migliaia come desideri tu, sia per fare in modo che quando non c'è scritto nulla nella textbox, venga visualizzato lo zero:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ricordati di mettere lo zero nella textbox in partenza!

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Se ti servono altre modifiche per permettere altri caratteri nella textbox, qui c'è un articolo che ti può essere utile:
http://www.settorezero.com/wordpress/vbnet-accettare-in-una-textbox-soltanto-numeri-o-caratteri-predefiniti/

Capa Profilo | Newbie

Grazie tante! ..appena ho modo, proverò questa soluzione! :)

EDIT:

No, non funziona..

1) io, lo "0" l'avevo messo direttamente nelle impostazioni della textbox (perchè facevo prima :P ), però ovviamente, se lo cancello questo sparisce.. :(
2) per avere solo i numeri nelle textbox ho usato il codice undo
3) la parte dove mi deve far comparire il divisore delle migliaia.. non funge! :(
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5