Como limitar rango de numeros en un texbox

Iniciado por luis456, 21 Septiembre 2013, 12:34 PM

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

luis456

Hola como recien comienzo en esto de Visual aunque se parece un poco al Viejo fOX
estoy haciendo un programa que en los texbox me gustaria limitar la entrada de numeros desde 00 al 99,ya he logrado hacer que me capte solo numeros y no carapteres y que tambien no pasen de dos pero como no entiendo mucho de string :)

Public Class Form1
    Dim Sep As Char
    Dim Número As Double

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Not (Char.IsNumber(e.KeyChar) Or e.KeyChar.Equals(Sep) Or Char.IsControl(e.KeyChar)) Then e.Handled = True
    End Sub

End Class



Luis


Que tu sabiduria no sea motivo de Humillacion para los demas

Danyfirex

#1
podrias agregarle:

y el largo del texto en mi textbox no sea mayor a 2. :)

saludos

PD: esto va en .Net

luis456

???? alguna posible respuesta ?? con if se podria ?

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

z3nth10n

#3
Cita de: Danyfirex en 21 Septiembre 2013, 18:25 PM
y el largo del texto en mi textbox no sea mayor a 2. :)

Querido Luis esto es un If, pero si no conoces bien la materia...

sin saber mucho de vb 6.0 diria que es algo así:

Código (vb) [Seleccionar]
if not textbox1.text.length > 2

ahora hazme un favor, cojete un buen manual y leetelo... :silbar:

PD: http://visualbasic.freetutes.com/learn-vb6/lesson3.html

Un saludo. :rolleyes:

Interesados hablad por Discord.

tincopasan

pues de entrada la pregunta ya es incongruente! has logrado que tome solo números (bien) y que sean solo dos (bien) supongo que ese solo dos esta referido al largo y no al caracter 2,  ahora bien, con dos numeros desde 0 a 9 el valor más alto posible es 99 ¿para qué agregar más?

Danyfirex

:S no me di cuenta que lograste también que solo pudieras entras 2 caracteres.

entonces no necesitas mas nada.

@Ikillnukes  el preguntaba sobre net no vb6.

@tincopasan  el único que leyó bien :S ( o completo)

saludos



luis456

Bueno gracias por las respuestas

tratare de explicar un poco mejor, tengo un  texbox inicial que en principio me hace una suma y ese resultado me lo envia a otro texbox :

ejemplo
introdusco en texbo1 el numero 50 y el programa le suma  30  normalmente eso es 80 como resultado no ? pues lo que necesito es que si es 80 no lo ponga :) si que ponga 79 en el txbox2

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

Danyfirex

entonces tendrias que hacer algo como


if numero mod 2=0 then numero-1

así se cumpliría para todos los pares. hay que ver que realmente quieres hacer.

saludos

luis456

He aca la función que hago donde en texbox1 esta el valor introducido que no puede pasar de dos dígitos eso ya lo tengo solucionado es se hace ya saben en propiedades.bueno el asunto es que si pongo por ejemplo el cuarenta (40) la suma seria 50 yo lo que necesito es que no me muestre el 50 osea seria  el 49,tengo la idea de hacer con if una condición tipo >< pero como estoy enviando al otro texbox
el resultado no logro enterarme como se hace,como os dije en mi presentación :) tengo ya 53 anitos y como mi lenguaje fue foxpro me cuesta un poco saber de otros sistemas. no quiero que me hagan los programas solo orientación..


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
      r1 = Val(TextBox1.Text)
       
      TextBox7.Text = r1 + 10 <--aca el resultado condicionado

     End Sub



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

Danyfirex

luis entonces no se si lo podrías hacer asi

Código (vbnet) [Seleccionar]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       
      r1 = Val(TextBox1.Text)
       
      if (r1 mod 10=0) then r1-1
   
      TextBox7.Text = r1 + 10 <--aca el resultado condicionado
   
     End Sub


saludos