Newsgroup: it.comp.lang.visual-basic
Titolo: textbox input solo numeri

Salve a tutti,
con questo codice faccio in modo che in una textbox si possano inserire solo
numeri :
--------------------
Option Explicit
Private Sub txtTesto_KeyPress(KeyAscii As Integer)
    If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
---------------------
Domanda da principiante:
Se nel form vi sono piu' textbox come posso fare per applicare tale codice a
tutte le textbox?
grazie.
Roberto.

 Roberto.
Ciao,
non potresti definire i textbox come una matrice....textbox(0)
...textbox(n-1)
a questo punto applichi il codice scritto all'evento keypress come hai
scritto tu (in questo caso pero' l'evento keypress e' riferito a tutti i
componenti della matrice).....ed il gioco e' fatto.
ciao
e.

 
Cosi' puoi digitare solo numeri.
Ma se fai copia-incolla ci metti dentro quello che vuoi. Occhio.
-- 
Samuele Battarra
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/leggiminews.html

 Ma se fai copia-incolla ci metti dentro quello che vuoi. Occhio.
ehm... e tu come risolveresti questo problema ?
ciao!
Marco Trapanese

Verificando nuovamente il campo al LostFocus o, meglio, al Validate.


>ehm... e tu come risolveresti questo problema ?
La if, invece che
metterla nell' evento keypress del controllo, la metti in una tua sub
privata che richiami all' evento change del controllo stesso. In questo
modo ogni volta che cambia qualcosa (quindi cambia il testo) passi per la
tua procedurina che verfica cosa fare.
Saluti...
PS: non hoh provato
il codice ma a occhio dovrebbe andare.
--------------------------------
Inviato via 
http://usenet.iol.it
 

Marco Trapanese ha scritto:

Io toglierei il controllo dalla KeyPress, uno puo' digitare quel che
vuole, poi pero' se facendo il controllo ti accorgi che nella txt non
c'e' un numero, MsgBox("Ti pare che '" & txtTesto & "' sia un numero?")
Quando fare il controllo?
Due possibilita'.
Nell'evento Validate, cosi' controlli ogni txt del form appena possibile.
Nell'evento click del bottone OK (ne hai uno, vero?), controlli tutti i
txt in una volta sola, se ne trovi uno sbagliato dopo la MsgBox, .SetFocus


 txt in una volta sola, se ne trovi uno sbagliato dopo la MsgBox, .SetFocus
Personalmente credo si debba opportunamente bilanciare qualunque
'validazione' tanto a livello 'controllo' (validate), quanto a livello
'modulo' (invio dati).
Ad esempio l'immissione di una data la validerei a livello 'controllo' e i
campi obbligatori, a livello 'modulo'.
Inoltre detesto con tutte le mie forze qualunque 'limitazione' operata da
codice sulla tastiera!
nonsonostatoio

 Quindi i messaggi di avviso li farei un po' più 'professionali'! ;-)
anch'io. per es.:
"la data non e' corretta, quindi questo computer ha eseguito
un'operazione non valida, e la corrente alternata verra' cortocircuitata
alla tua sedia entro 5 secondi, che tu hai probabilmente gia' sprecato a
leggere questo messaggio".

 leggere questo messaggio".
LOL ;)
Si vabbè, ma io che c'entro? lo sanno tutti che nonsonostatoio!
C'ho l'alibi di ferro, io!
Ah se non ci fosse pal!...pensa che pal! ;)))
[vabbè questa me la potevo risparmiare!]

 C'ho l'alibi di ferro, io!
ottimo, quanto a conduzione, per la sedia in questione :)
no, era una proposta di messaggio e circuitazione ergonomica (*)
destinati all'utente medio.
ciao, a.
(*) l'ergonomia e' in prospettiva, naturalmente, quella del sysad che
dispone di simili utenti-colleghi medi. ogni tanto vi assicuro che
questi sono i suoi sentimenti.