none
Cambiar punto de posicion RRS feed

  • Pregunta

  • buenas tengo este codigo que lo que hace es poner un punto en la posicion 2 pero tambien me hace falta que cambie a la posicion 3

    Ej: posicion 2 seria 1.23 

    Ej: posicion 3 seria 12.3

    Gracias

    estoy intentando con este codigo pero no me sale

    Private Sub TextBox9_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox9.KeyPress
            Dim textControl As TextBox = CType(sender, TextBox)
            If Not Char.IsControl(e.KeyChar) AndAlso Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "."c Then
                ' Si no es un carácter de control, un número o un punto no es válido
                e.Handled = True
            ElseIf e.KeyChar = "."c AndAlso (textControl.SelectionStart = 2 Or textControl.Text.IndexOf("."c) >= 0) Then
                ' Si es un punto y es el primer carácter o existe otro no es válido
                e.Handled = True
            ElseIf e.KeyChar = "."c AndAlso (textControl.SelectionStart = 3 Or textControl.Text.IndexOf("."c) >= 0) Then
                ' Si es un punto y es el primer carácter o existe otro no es válido
                e.Handled = True
            End If

    esto es lo nuevo

     ElseIf e.KeyChar = "."c AndAlso (textControl.SelectionStart = 3 Or textControl.Text.IndexOf("."c) >= 0) Then
                ' Si es un punto y es el primer carácter o existe otro no es válido
                e.Handled = True

    sábado, 2 de enero de 2016 9:43

Respuestas

  • Debería ser:

            Dim textControl As TextBox = CType(sender, TextBox)
            If Not Char.IsControl(e.KeyChar) AndAlso Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "."c Then
                ' Si no es un carácter de control, un número o un punto no es válido
                e.Handled = True
            ElseIf e.KeyChar = "."c AndAlso (textControl.SelectionStart = 0 OrElse textControl.SelectionStart > 2 OrElse textControl.Text.IndexOf("."c) >= 0) Then
                ' Si es un punto y es el primer carácter o mayor que el tercero o existe otro no es válido
                e.Handled = True
            End If


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta JETET sábado, 2 de enero de 2016 17:31
    sábado, 2 de enero de 2016 10:55