como puedo Evitar signos + - en texbox

Iniciado por luis456, 29 Septiembre 2013, 17:53 PM

0 Miembros y 1 Visitante están viendo este tema.

luis456

Ya mareado de googlear jejejej tengo otra pregunta si es posible  :rolleyes:

tengo varios texbox donde envió los resultados de una ecuación matemática introduzco datos en unos texbox estos pasan por la función y los resultados me los envía a estos 20 texbox. el problema es, que aunque le he puesto que solo acepte números lo cual funciona hay una pega es que cuando los números son negativos me muestra el signo  negativo  " - " lo cual no he podido eliminar. he puesto esta funcion pero sigue igual.

If InStr(1, "0123456789" & Chr(8), e.KeyChar) = 0 Then 
        e.KeyChar = "" 
    End If 



De antemano gracias

Luis

Pd alguna direccion de algun tuto de solo texbox jejeje


Que tu sabiduria no sea motivo de Humillacion para los demas

Eleкtro

#1
( InStr es una función de vb6, te vuelvo a aconsejar como en otra ocasión que dejes todo eso a un lado... si empiezas a programar en VBNET como si estuvieramos en VB6, mal vamos, creo que deberías buscar ejemplos mejores en Google xD )

A ver si lo he entendido bien, ¿quieres permitir la escritura MANUAL de solo Dígitos en un textbox (solo números, sin tener en cuenta el símbolo del minus "-")?

Código (vbnet) [Seleccionar]
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) _
Handles TextBox1.KeyPress

   e.Handled = Not ("0123456789".IndexOf(e.KeyChar) > -1 OrElse e.KeyChar = Convert.ToChar(Keys.Back))

End Sub


Si usas ese código que te acabo de mostrar, el textbox podrá seguir conteniendo cualquier tipo de caracter si seteas la propiedad Text del control, Ej: Textbox1.text = "QWERTY"


¿O quieres que de todas las maneras posibles el Textbox solo pueda contener números?, no se si me explico bien:

Código (vbnet) [Seleccionar]
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _
Handles TextBox1.TextChanged

   sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")

End Sub


Si usas ese código, entonces no necesitas usar el primero que hice.

Saludos!








luis456

Cita de: EleKtro H@cker en 29 Septiembre 2013, 18:15 PM
( InStr es una función de vb6, te vuelvo a aconsejar como en otra ocasión que dejes todo eso a un lado... si empiezas a programar en VBNET como si estuvieramos en VB6, mal vamos, creo que deberías buscar ejemplos mejores en Google xD )

A ver si lo he entendido bien, ¿quieres permitir la escritura MANUAL de solo Dígitos en un textbox (solo números, sin tener en cuenta el símbolo del minus "-")?

Código (vbnet) [Seleccionar]
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) _
Handles TextBox1.KeyPress

   e.Handled = Not ("0123456789".IndexOf(e.KeyChar) > -1 OrElse e.KeyChar = Convert.ToChar(Keys.Back))

End Sub


Si usas ese código que te acabo de mostrar, el textbox podrá seguir conteniendo cualquier tipo de caracter si seteas la propiedad Text del control, Ej: Textbox1.text = "QWERTY"


¿O quieres que de todas las maneras posibles el Textbox solo pueda contener números?, no se si me explico bien:

Código (vbnet) [Seleccionar]
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _
Handles TextBox1.TextChanged

   sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")

End Sub


Si usas ese código, entonces no necesitas usar el primero que hice.

Saludos!



;-)  ;-)  ;-)  ;-)  ;-)  ;-)  ;-)   no se me ocurre mas jejejje

Muchas gracias si necesitas alguna reparacion de tu coche me avisas :)

Luis


Que tu sabiduria no sea motivo de Humillacion para los demas

luis456

Perdon este fue el que nesecitaba  ;-)  ;-)  ;-)  ;-)


Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) _
Handles TextBox1.TextChanged

    sender.text = System.Text.RegularExpressions.Regex.Replace(sender.text, "\D", "")

End Sub


De nuevo muchas gracias

Luis
Que tu sabiduria no sea motivo de Humillacion para los demas