none
Problema para accesar propiedad control RRS feed

  • Pregunta

  • Hola a todos y espero me puedan ayudar. Mi problema es que cree una varible de tipo control para recorrer los controles de un formulario, pero no he encontrado la forma de accesar al valor que estos tienen. Con los textbox no tengo problemas porque puedo ver la propiedad Text, pero si tengo problemas con el resto de controles como checkbox, datetimepicker, etc. Muchas gracias de antemano
    jueves, 14 de junio de 2007 18:11

Respuestas

  • El problema reside en que por ejemplo CheckBox y DateTimePicker son una evolución de Control, con propiedades y métodos añadidos, y por lo tanto no presentes en Control, con lo que es normal que no te funcione.

     

    Debes realizar una conversión al tipo concreto para poder realizar la asignación. Por ejemplo, lo que intentas hacer con:

     

    Code Snippet
    ctl.Checkstate = CheckState.Unchecked

     

     

    Debiera implementarse con

     

    Code Snippet
    CType
    (ctl, CheckBox).CheckState = CheckState.Unchecked

     

     

    Un saludo!

    jueves, 14 de junio de 2007 20:54

Todas las respuestas

  • Con la propiedad "value" por ejemplo?

     

    Si nos muestras algún fragmento de código concreto seguro que podemos ayudarte mejor...

     

    Un saludete!

    jueves, 14 de junio de 2007 19:32
  • El ejemplo es el siguiente

    Public Sub CtrlClear(ByVal frm As System.Windows.Forms.Form)

    'Descripción : Limpiar los controles del formulario

    Dim ctl As System.Windows.Forms.Control

    For Each ctl In frm.Controls

    If TypeOf ctl Is TextBox Then

    ctl.Text = ""

    ElseIf TypeOf ctl Is CheckBox Then

    'ctl.Checkstate = CheckState.Unchecked

    ElseIf TypeOf ctl Is DateTimePicker Then

    'ctl.value = Date.Today

    'ctl.Text = ""

    End If

    Next

    End Sub

     

    Gracias Toni por tratar de ayudarme, saludos

    jueves, 14 de junio de 2007 20:37
  • El problema reside en que por ejemplo CheckBox y DateTimePicker son una evolución de Control, con propiedades y métodos añadidos, y por lo tanto no presentes en Control, con lo que es normal que no te funcione.

     

    Debes realizar una conversión al tipo concreto para poder realizar la asignación. Por ejemplo, lo que intentas hacer con:

     

    Code Snippet
    ctl.Checkstate = CheckState.Unchecked

     

     

    Debiera implementarse con

     

    Code Snippet
    CType
    (ctl, CheckBox).CheckState = CheckState.Unchecked

     

     

    Un saludo!

    jueves, 14 de junio de 2007 20:54
  • Muchisimas gracias toni
    jueves, 14 de junio de 2007 21:07
  • No hay de qué.

     

    Si la pregunta ha quedado contestada marca el hilo como respondido.

     

    Gracias!

    jueves, 14 de junio de 2007 21:08