Sandro Bizioli


Chi sogna di giorno conosce molte cose che sfuggono a chi sogna soltanto di notte. (E.A.Poe)
Home Blogs | Home | Login | Contact | My Profile | RSS | About | Cerca

Convertire una TextBox in una TextBox Numerica

Mi è capitato più d'una volta che mi si chiedesse di poter gestire una TextBox in modo da poter accettare solo valori numerici, inibendo ad esempio, tutti i tasti alfanumerici. Per raggiungere lo scopo si possono seguire varie strade: creare uno UserControl personalizzato che si occupi del problema oppure una classe o più semplicemente gestire gli eventi di KeyDown ecc. Io ho scelto la strada degli Handles anche perchè alla fine mi è sembrata la più flessibile, ma soprattutto la meno invas 
Leggi tutto il post...
Categoria: VB.Net
mercoledì, 27 feb 2008 Ore. 17.43

Scrivi un commento

Nome:
Blog:
E-Mail:
(l'indirizzo e-mail non verrà pubblicato, consente di essere avvertiti quando arrivano nuovi commenti a questo Post)
Codice:
Corpo:
Cookie:

Commenti

Autore: GothrekInviato il: 22 mar 2008 - 12.43
Bravo, ottimo modulo, molto utile e poco invasivo.
Complimenti.

Luca
Autore: gothrekInviato il: 22 mar 2008 - 13.33
Unico appunto, se si può fare, è la gestione del simbolo "+" che nella scelta dei soli valori positivi avrei escluso come "possibile immissione", soprattutto per la scelta di valori in una combobox, che va in errore.

Luca
Autore: gothrekInviato il: 22 mar 2008 - 13.42
ho preferito eliminare la possibilità di inserire il segno quando si sceglie di utilizzare il controllo como solo positivo (negative = false) cosi:

Case Keys.OemMinus, Keys.Oemplus ' Gestione del segno
e.SuppressKeyPress = True

Luca
Autore: Sandro BizioliInviato il: 25 mar 2008 - 10.34
Prima di tutto, grazie per i complimenti.
La tua considerazione è corretta; quello che mi premeva realizzare era per l'appunto una funzione di base poco invasiva e che fosse abbastanza flessibile da permettere ogni tipo di implementazione.
Effettivamente le varianti possono essere molteplici e, come giustamente fai notare, la combobox con il segno positivo potrebbe dare qualche problema; in questo (come in molteplici altri), la routine può essere adattata alle propie esigenze, proprio come hai fatto tu.
Se vuoi mantenere la logica iniziale, potrebe essere interessante aggiungere un paramentro opzionale alla sub TextBoxToNumeric, qualcosa come HidePositive o HideSign che poi gestirai nella KeyDown.
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003