none
Activar Boton cuando diferentes controles esten llenos RRS feed

  • Pregunta

  • Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load AddHandler txtNom.TextChanged, AddressOf ValidarCajaTexto AddHandler txtApe.TextChanged, AddressOf ValidarCajaTexto AddHandler radioButton1.CheckedChanged, AddressOf ValidarRadioButton AddHandler radioButton2.CheckedChanged, AddressOf ValidarRadioButton btnGuardar.Enabled = False End Sub Private Function ValidarControles() As Boolean Return Not Me.Controls.OfType(Of TextBox)(). Any(Function(t) String.IsNullOrEmpty(t.Text)) AndAlso Me.Controls.OfType(Of RadioButton)().Any(Function(t) t.Checked) End Function Finalmente en cada controlador de evento invoco al método creado: Private Sub ValidarRadioButton(sender As Object, e As EventArgs) btnGuardar.Enabled = ValidarControles() End Sub Private Sub ValidarCajaTexto(sender As Object, e As EventArgs) btnGuardar.Enabled = ValidarControles() End Sub

    este codigo funciona perfectamente pero el problema que confronto es que mis controles

    tanto los textbox como los radio button estan dentro de un Groupbox y asi no funcionan, solo functional cuando estan en el formulario sin group box, alguien tiene alguna idea


    martes, 22 de noviembre de 2016 19:11

Respuestas

  • Hola Efrain Diaz,

    Tienes que agregar el contenedor GroupBox al validar los controles.

        Private Function ValidarControles() As Boolean
    
            Return Not Me.GroupBox2.Controls.OfType(Of TextBox)().
            Any(Function(t) String.IsNullOrEmpty(t.Text)) AndAlso
            Me.GroupBox1.Controls.OfType(Of RadioButton)().Any(Function(t) t.Checked)
    
        End Function

    Ya que si solo usas el Me.Controls.. estás obteniendo los controles agregados al formulario directamente.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    martes, 22 de noviembre de 2016 19:24
  • Efrain Diaz,

    Debes indicar el contenedor donde se encuentra los controles:

    Private Function ValidarControles() As Boolean
    
            Return Not Me.GroupBox2.Controls.OfType(Of TextBox)().
            Any(Function(t) String.IsNullOrEmpty(t.Text)) AndAlso
            Me.GroupBox1.Controls.OfType(Of RadioButton)().Any(Function(t) t.Checked)
    
        End Function


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:32
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    martes, 22 de noviembre de 2016 19:27

Todas las respuestas

  • Hola Efrain Diaz,

    Tienes que agregar el contenedor GroupBox al validar los controles.

        Private Function ValidarControles() As Boolean
    
            Return Not Me.GroupBox2.Controls.OfType(Of TextBox)().
            Any(Function(t) String.IsNullOrEmpty(t.Text)) AndAlso
            Me.GroupBox1.Controls.OfType(Of RadioButton)().Any(Function(t) t.Checked)
    
        End Function

    Ya que si solo usas el Me.Controls.. estás obteniendo los controles agregados al formulario directamente.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    martes, 22 de noviembre de 2016 19:24
  • Efrain Diaz,

    Debes indicar el contenedor donde se encuentra los controles:

    Private Function ValidarControles() As Boolean
    
            Return Not Me.GroupBox2.Controls.OfType(Of TextBox)().
            Any(Function(t) String.IsNullOrEmpty(t.Text)) AndAlso
            Me.GroupBox1.Controls.OfType(Of RadioButton)().Any(Function(t) t.Checked)
    
        End Function


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:32
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 19:34
    • Desmarcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    • Marcado como respuesta Efrain Diaz martes, 22 de noviembre de 2016 20:07
    martes, 22 de noviembre de 2016 19:27