Bien aunque no lo crean me da pena preguntar ya varias veces lo mismo :silbar: no logro hacer que en unos resultados de unas simples cuentas no me muestren en los texboxes. dentro de un rango establecido ( mi rango es 00 al 99 ) y todo lo que se pase de 99 no lo debe mostrar pero si debe de mostrar el 99, bien he gogleado y buscado por este mismo foro pero na,,,estoy probando con esta rutina pero na tampoco....AUXILIO :)
Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
If Val(TextBox7.Text) >= 99 Then
TextBox7.Text = ""
End If
End Sub
Luis
Bueno, depende de lo que quieras realmente si lo que quieres es que simplemente no se puedan ingresar números en un rango mayor entonces sería algo como:
Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
If Val(TextBox7.Text) > 99 Then
TextBox7.Text = 99
End If
End Sub
Pero yo te recomendaría utilizar el control "NumericUpDown", es más fácil de programar y es un poco más profesional hacerlo de esta manera.
Saludos
Cita de: El Benjo en 23 Octubre 2013, 21:51 PM
Bueno, depende de lo que quieras realmente si lo que quieres es que simplemente no se puedan ingresar números en un rango mayor entonces sería algo como:
Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
If Val(TextBox7.Text) > 99 Then
TextBox7.Text = 99
End If
End Sub
Pero yo te recomendaría utilizar el control "NumericUpDown", es más fácil de programar y es un poco más profesional hacerlo de esta manera.
Saludos
Lo he probado pero no me funciona :) sera porque yo no escribo directamente sobre el texbox ? ya que este recibe de una variable el resultado a mostrar en el texbox
Result1 = {Num1 + 1, Num1 + 2, Num1 + 20} _
Luis
@luis456
Cita de: luis456 en 24 Octubre 2013, 06:17 AMLo he probado pero no me funciona :) sera porque yo no escribo directamente sobre el texbox ? ya que este recibe de una variable el resultado a mostrar en el texbox
Si no estás escribiendo diréctamente sobre el Textbox, entonces porque te suscribes el evento TextChanged del textbox y porque intentas hacer las operacions de rango dentro de ese bloque?.
Citar
Private Sub TextBox7_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox48.TextChanged
If Val(TextBox7.Text) >= 99 Then
TextBox7.Text = ""
End If
End Sub
Es tan sencillo como que compruebes el rango del valor de la variable Result1 y según el rango que sea, asignas un valor u otro al Textbox7, no compares la propiedad Text del textbox, que se supone que va a estar vacia... si no he entendido mal.
PD: Sobre el uso de
Val ya ni lo vuelvo a comentar.
Saludos
Cita de: EleKtro H@cker en 24 Octubre 2013, 09:08 AM
@luis456
Si no estás escribiendo diréctamente sobre el Textbox, entonces porque te suscribes el evento TextChanged del textbox y porque intentas hacer las operacions de rango dentro de ese bloque?.
Es tan sencillo como que compruebes el rango del valor de la variable Result1 y según el rango que sea, asignas un valor u otro al Textbox7, no compares la propiedad Text del textbox, que se supone que va a estar vacia... si no he entendido mal.
PD: Sobre el uso de Val ya ni lo vuelvo a comentar.
Saludos
Porque como veras los texboxes se van llenando por las variables (por cierto este fue el codigo que me diste :) )
Public Class Form1
Dim MIN As Integer = 0
Dim MAX As Integer = 99
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ControlBox = False ' Elimino todos los controles del formulario
End Sub
Private Result1 As Int32(), Result2 As Int32(), Result3 As Int32()
Dim Sep As Object
Dim texbox7 As Object
Dim o As Object
Private _val As Object
Private _val1 As Integer
Dim TextBox As TextBox()
ReadOnly Property Num1 As Int32
Get
Return CInt(TextBox1.Text)
End Get
End Property
ReadOnly Property Num2 As Int32
Get
Return CInt(TextBox2.Text)
End Get
End Property
ReadOnly Property Num3 As Int32
Get
Return CInt(TextBox3.Text)
End Get
End Property
Private Property KeyAscii As Integer
Private Property Val(ByVal form1 As Form1, ByVal p2 As Object) As Object
Get
Return _val
End Get
Set(ByVal value As Object)
_val = value
End Set
End Property
Private Property Val(ByVal p1 As Object) As Integer
Get
Return _val1
End Get
Set(ByVal value As Integer)
_val1 = value
End Set
End Property
Private Sub Sumar(ByVal sender As Object, ByVal e As EventArgs) _
Handles Calcular.Click
Dim TextBoxCount As Short = -1
TextBox = {TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12, TextBox13, TextBox14, TextBox15, TextBox16, TextBox17, TextBox18, TextBox19, TextBox20, TextBox21, TextBox22, TextBox23, TextBox24, TextBox25, TextBox26, TextBox27, TextBox28, TextBox29, TextBox30, TextBox31, TextBox32, TextBox33, TextBox34, TextBox35, TextBox36, TextBox37, TextBox38, TextBox39, TextBox40, TextBox41, TextBox42, TextBox43, TextBox44, TextBox45, TextBox46, TextBox47, TextBox48, TextBox49, TextBox50, TextBox51, TextBox52, TextBox53, TextBox54, TextBox55, TextBox56, TextBox57, TextBox58, TextBox59, TextBox60}
Result1 = {Num1 + 1, Num1 + 20, Num1 + 30} _
.Distinct().ToArray ' Elimino duplicados
Result2 = {Num2 + 10, Num2 + 20, Num2 + 30} _
.Distinct().ToArray ' Elimino duplicados
Result3 = {Num3 + 10, Num3 + 20, Num3 + 30} _
.Distinct().ToArray ' Elimino duplicados,,,,,,,,,,,
Array.Sort(Result1) : Array.Sort(Result2) : Array.Sort(Result3) ' Ordeno los Items
' funcion
For Each Number As Int32 In Result1
TextBoxCount += 1
TextBox(TextBoxCount).Text = Number
Next
For Each Number As Int32 In Result2
TextBoxCount += 1
TextBox(TextBoxCount).Text = Number
Next
For Each Number As Int32 In Result3
TextBoxCount += 1
TextBox(TextBoxCount).Text = Number
Next
End Class
Luis