none
habilitar boton cuando se rellenes varios textbox

Respuestas

  • Hola Efrain Diaz,

    Aplicarías la misma lógica, podrías crear un arreglo de TextBox o una lista, y luego recorres los elementos para adicionar y/o validar.

    Algo como : (Usando una lista)

    Dim listaTxt As New List(Of TextBox)
    
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        listaTxt.AddRange(New TextBox() {TextBox1, TextBox2})  'Agrega los textBox
    
        For Each txt As TextBox In listaTxt
            AddHandler txt.TextChanged, AddressOf hasContent
        Next
    End Sub
    
    Private Sub hasContent(sender As Object, e As EventArgs)
        Button1.Enabled = listaTxt.Any(Function(x) x.Text.Trim().Length <> 0)
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Efrain Diaz jueves, 17 de noviembre de 2016 23:50
    jueves, 17 de noviembre de 2016 23:06

Todas las respuestas

  • Hola Efrain Diaz,

    Podrías crear un Handler para anexar los controles TextBox a un mismo evento y luego usando la función Any() validar si existe alguno con dato o no.

    Algo como :

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For Each txt As TextBox In Me.Controls.OfType(Of TextBox)
            AddHandler txt.TextChanged, AddressOf hasContent
        Next
    End Sub

    Y :

    Private Sub hasContent(sender As Object, e As EventArgs)
         Button1.Enabled = Me.Controls.OfType(Of TextBox). Any(Function(x) x.Text.Trim().Length <> 0)
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    jueves, 17 de noviembre de 2016 22:12
  • El detalle es que yo no quiero que sean todos los textbox, si solo fueran algunos como podria hacerlo
    jueves, 17 de noviembre de 2016 22:55
  • Hola Efrain Diaz,

    Aplicarías la misma lógica, podrías crear un arreglo de TextBox o una lista, y luego recorres los elementos para adicionar y/o validar.

    Algo como : (Usando una lista)

    Dim listaTxt As New List(Of TextBox)
    
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        listaTxt.AddRange(New TextBox() {TextBox1, TextBox2})  'Agrega los textBox
    
        For Each txt As TextBox In listaTxt
            AddHandler txt.TextChanged, AddressOf hasContent
        Next
    End Sub
    
    Private Sub hasContent(sender As Object, e As EventArgs)
        Button1.Enabled = listaTxt.Any(Function(x) x.Text.Trim().Length <> 0)
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Efrain Diaz jueves, 17 de noviembre de 2016 23:50
    jueves, 17 de noviembre de 2016 23:06