domenica 9 gennaio 2011

textbox solo numerica in VB.Net e C#

Il frammento di codice qui di seguito, illustra una tenica, in ambiente windows application, di come rendere un controllo textbox, solo numerico e quindi l'impossibilità di inserire lettere o altri caratteri il tutto tranne VB.Net e C#.

Nell'evento Keypress, viene effettuato un controllo sul codice del carattere, se è diverso dal tasto back (quello di cancellazione) e non è un numerico, imposta la proprietà Handled a true, in modo che il carattere non viene inserito.


VB.Net



Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress



If (e.KeyChar <> Microsoft.VisualBasic.ChrW(Keys.Back)) And (Char.IsNumber(e.KeyChar.ToString(), 0) = False) Then



e.Handled = True



End If



End Sub



C#



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)



{



if ((e.KeyChar != (char)Keys.Back) && (!char.IsNumber(e.KeyChar.ToString(), 0)))



e.Handled = true;



}


3 commenti:

Anonimo ha detto...

Navigando ho letto codici di 200 righe per permettere l'inserimento di soli numeri, alcuni nemmeno accettano il backspace questo è perfetto.
Complimenti

Settecamini ha detto...
Questo commento è stato eliminato dall'autore.
Emanuele ha detto...

Grazie per l'apprezzamento.
Continua a seguirmi