Visual Basic.NET - Ayuda con el textbox

 
Vista:

Ayuda con el textbox

Publicado por Cynthia (22 intervenciones) el 26/03/2007 23:23:06
Hola... Es para ver quien me puede ayudar con una pequeña duda que tengo acerca de como hacer que un textbox valide numeros o letras, es decir; que acepte solo numeros o solo letras.

Cualquier comentario sería de gran ayuda...
Salu2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con el textbox

Publicado por huguin (83 intervenciones) el 27/03/2007 01:44:49
create un modulo
Module Module1
Public Function SoloNumeros(ByVal keyascii As Short) As Short
keyascii = Asc(UCase(Chr(keyascii)))
If InStr("0123456789", Chr(keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = keyascii
End If
If keyascii = 8 Then SoloNumeros = keyascii
If keyascii = 13 Then SoloNumeros = keyascii

End Function
Public Function SoloNumerosDecimales(ByVal keyascii As Short) As Short
keyascii = Asc(UCase(Chr(keyascii)))
If InStr("0123456789", Chr(keyascii)) = 0 Then
SoloNumerosDecimales = 0
Else
SoloNumerosDecimales = keyascii
End If
If keyascii = 8 Then SoloNumerosDecimales = keyascii
If keyascii = 13 Then SoloNumerosDecimales = keyascii
If keyascii = 44 Then SoloNumerosDecimales = keyascii
If keyascii = 46 Then SoloNumerosDecimales = keyascii
' End If
End Function
Public Function SoloLetras(ByVal keyascii As Short) As Short
keyascii = Asc(UCase(Chr(keyascii)))
If InStr("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", Chr(keyascii)) = 0 Then
SoloLetras = 0
Else
SoloLetras = keyascii
End If
If keyascii = 8 Then SoloLetras = keyascii
If keyascii = 13 Then SoloLetras = keyascii
End Function
End Module

en el evento keypress de los tetbox pones esto


'textbox acepta solo Letras
Private Sub txt_Ate_Pagante_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_Ate_Pagante.KeyPress
Dim keyasci As Short = CShort(Asc(e.KeyChar))
keyasci = CShort(SoloLetras(keyasci))
If keyasci = 0 Then
e.Handled = True
MessageBox.Show("Solo Ingrese Letras", "Sistema XXXXXXXXXX", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub

'texto que acepta solo numeros
Private Sub txt_Ate_NumdocPagante_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_Ate_NumdocPagante.KeyPress

Dim keyasci As Short = CShort(Asc(e.KeyChar))
keyasci = CShort(SoloNumeros(keyasci))
If keyasci = 0 Then
e.Handled = True
MessageBox.Show("Solo Ingrese Numeros", "Sistema XXXXX", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con el textbox

Publicado por raciel (1 intervención) el 07/05/2009 23:47:59
Private Sub txt1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt1.KeyPress

''''para que puedas eliminar con la tecla de retroceso
If e.KeyChar = Chr(8) Then
Exit Sub
End If

'''''no te deja escribir otra cosa que no sean numeros
If e.KeyChar < Chr(48) Or e.KeyChar > Chr(57) Then
'valor = txt1.Text
e.KeyChar = Chr(0)
End If

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar