Problema con Textbox que sólo acepta números!

12/11/2003 - 18:22 por Carlos Alberto | Informe spam
Hola,

Estoy utilizando el siguiente código para que mi textbox acepte únicamente
números:

Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
keyascii = CShort(SoloNumeros(keyascii))
If keyascii = 0 Then
e.Handled = True
End If
End Sub

Funciona perfectamente, el problema es que debido a que sólo acepta números
el usuario no puede copiar o pegar una cadena de caracteres desde este
textbox (presionar "Ctrl + C" o "Ctrl + V"). ¿Cómo puedo resolver esto
manteniendo el formato sólo números?

Gracias y Saludos!
 

Leer las respuestas

#1 Oscar Calvo
12/11/2003 - 23:20 | Informe spam
mira, lo primero que podrias hacer es usar la clase y metodo
char.IsNumber(); que te devuelve true si efectivamente es un numero.poniendo
esto en el metodo keypress ya te ahorras todo ese codigo.asi ademas en el if
puedes probar a ver que codigo es ctrl+v y ponerlo como un or
espero te sirva
un saludo
"Carlos Alberto" escribió en el mensaje
news:
Hola,

Estoy utilizando el siguiente código para que mi textbox acepte únicamente
números:

Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
keyascii = CShort(SoloNumeros(keyascii))
If keyascii = 0 Then
e.Handled = True
End If
End Sub

Funciona perfectamente, el problema es que debido a que sólo acepta


números
el usuario no puede copiar o pegar una cadena de caracteres desde este
textbox (presionar "Ctrl + C" o "Ctrl + V"). ¿Cómo puedo resolver esto
manteniendo el formato sólo números?

Gracias y Saludos!


Preguntas similares