none
Objeto para capturar solo Numeros y otro para capturar alfanumerico RRS feed

  • Pregunta

  • Que objeto pongo o como le hago para que mi captura solo acepte numeros.

    Lo intente con el Textbox pero no he hallado como

    Visual Estudio 2008
    Silverlight 3.0

    viernes, 18 de diciembre de 2009 22:20

Todas las respuestas

  • Debes de crear tu clase textbox public class NumberTextBox:TextBox { protected override void OnPreviewTextInput(System.Windows.Input.TextCompositionEventArgs e) { e.Handled = !AreAllValidNumericChars(e.Text); base.OnPreviewTextInput(e); } } bool AreAllValidNumericChars(string str) { bool ret = true; if (str == System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyGroupSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.CurrencySymbol | str == System.Globalization.NumberFormatInfo.CurrentInfo.NegativeSign | str == System.Globalization.NumberFormatInfo.CurrentInfo.NegativeInfinitySymbol | str == System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.NumberGroupSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.PercentDecimalSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.PercentGroupSeparator | str == System.Globalization.NumberFormatInfo.CurrentInfo.PercentSymbol | str == System.Globalization.NumberFormatInfo.CurrentInfo.PerMilleSymbol | str == System.Globalization.NumberFormatInfo.CurrentInfo.PositiveInfinitySymbol | str == System.Globalization.NumberFormatInfo.CurrentInfo.PositiveSign) return ret; int l = str.Length; for (int i = 0; i < l; i++) { char ch = str[i]; ret &= Char.IsDigit(ch); } return ret; }
    Oscar Avarez Guerras - Arquitecto Software en I3B (I+D+I) Blog:http://geeks.ms/blogs/oalvarez Por favor marca como respuesta si te ha ayudado esta respuesta
    sábado, 19 de diciembre de 2009 8:50
  • Esta es la opción mas sencilla.
    private void PopUpExtension_KeyDown(object sender, KeyEventArgs e)
            {
                if (char.IsLetter((Char)e.Key))
                    e.Handled = false;
                else
                    e.Handled = true;
            }
    Saludos...

    • Editado IngJavierR viernes, 6 de enero de 2012 0:07
    viernes, 6 de enero de 2012 0:04
  • Te pongo varias funciones  uno que valida letras y otro numeros , para el alfanumerico puedes juntar las dos funciones y hacer una y ademas puedes agregar varios simbolos, que puedes hacer con lo que es el "Key" 

     

     

     

    Private Sub Ejemplo_KeyDown(ByVal sender as Object, ByVal e as System.Windows.Input.KeyEventArgs)

     'TODO: Agregar implementación de controlador de eventos aquí.

      e.Handled = Not var.ValidarLetras(e.Key)

    End Sub

     

     

     

     Public Function ValidarNumeros(inKey As Key) As Boolean

        IF inKey < Key.D0 OrElse inKey > Key.D9 THEN

      IF inKey < Key.NumPad0 OrElse inKey > Key.NumPad9 THEN

     Return False

      End If

        End If

       Return True

        End Function

     

    Public Function ValidarLetras (inkey AS Key ) AS Boolean

         IF inkey < Key.A OR inkey > Key.Z THEN  

        Return False 

     

          END IF 

      Return True

      END Function

     

     




    • Editado Dave2203 miércoles, 11 de enero de 2012 7:30
    miércoles, 11 de enero de 2012 7:26