none
Validar varios text box a la vez RRS feed

  • Pregunta

  • Hola

    Tengo un group box con 10 text boxes y quiero que en ellos solo ingresen letras, no numeros. uno por uno es sencillo validarlo en el evento keypress.

    Ahora, yo quiero saber si hay alguna manera mas eficiente de hacer esto?? de hacerlo con una funcion donde todos los textboxes del groupbox solo permita letras "sin" necesidad de hacerlo uno por uno..

    Como puedo hacer esta funcion que los valide sin importar la cantidad de textboxes q tenga en el groupbox??

    como seria esta funcion?? y a donde iria??


    domingo, 10 de noviembre de 2013 4:36

Todas las respuestas

  • hola

    Truco: Solo letras en los TexTbox (Windows Forms) VB y CSharp

    para adjuntar la accion a verios textbox podrias hacer

    Private Sub Form_Load(...)
    
    	For Each ctrl As TextBox In Me.Controls.OfType(Of TextBox)
    		AddHandler ctrl.KeyPress, AdressOf TextBox_KeyPress
    	Next
    
    End Sub
    
    
    Private Sub TextBox_KeyPress(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                                  
    
        If Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
    End Sub

    de esta forma dinamicamente adjuntas el evento keypress a los controles del form

    si hay un groupbox usa

    For Each ctrl As TextBox In GroupBox1.Controls.OfType(Of TextBox)

    Nota: como veras la parte del Handles TextboxXX.KeyPress se la elimine

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    domingo, 10 de noviembre de 2013 13:55
  • Hola, gracias por la idea...

    Asi lo hice pero no me funciona!

    El for each en lo que inicia el form y lo demas una funcion aparte!.. no se q tendre mal!

    domingo, 10 de noviembre de 2013 19:48