none
crear textbox en tiempo de ejecucion con combobox en visual basic 2008 RRS feed

  • Pregunta

  • Estoy haciendo un proyecto, ocupo almacenar varios tipos de activos. por ejemplo: carro, mesa, computadora.
    los almaceno en un combobox los 3. pero carro tiene estos campos(motor,chasis,año) y la mesa(color,codigo) y computadora(memoria,disco duro, RAM,OS). si elijo carro en el combobox. deseo que aparezcan los 3 textbox para llenar los campos del carro...y si elijo computadora que me ponga los 4 textbox para llenar los campos de la computadora.
    COMO HAGO ESO?

    • Cambiado Enrique M. Montejo viernes, 21 de febrero de 2014 15:17 Controles de Windows Forms
    miércoles, 19 de febrero de 2014 4:19

Todas las respuestas

  • Hola ,eso lo podrias realizar realizando algo parecido a esto, agregas todos los textbox de las opciones del combo en el formulario con la propiedad visible en false en tiempo de diseño,es decir desde sus propiedades de los textbox y tendrias  carro 3 textbox(con sus respectivos nombres y sus propiedades visible en false) ,mesa 2 textbox(idem propiedad visible en false) y lo mismo para computadora 4 textbox ocultos. Luego desde el evento selectedindexchanged del combo preguntar si el combo tiene la primera opcion (indice 0) (seria el primero(carro))

    if  combo.selectedindex=0 then 

    'Aca  haces que sean visibles todos los textbox pertenecientes a la opcion 1 (indice 0(carro))  asi

    txt_motor.visible= true

    txt_chasis.visible=true

    txt_año.visible=true

    end if

    'y asi con los otros 

    if combo.selectedindex=1 then

    txt_color.visible=true

    txt_codigo.visible=true

    end if

    ' y asi con el tercero

    if if combo.selectedindex=1 then

    txt.memoria.visible=true

    txt_disco_duro.visible=true

    txt_ram.visible=true

    txt_os.visible=true

    end if

    Eso hasta ahi funcionaria bien,solo la primera vez,el tema es que si te moves en las distintas opciones del combo tendrias que incluir todas las opciones en false,las que no pertenezcan al indice en el cual estas actualmente.

    ej.

    En todo el form  tenes  9 textbox,para el primero solo mostrarias el textbox motor ,chasis,año en true y tenes que incluir las otras 6 opciones en textbox en false.

    es decir,para el primero seria 

    if  combo.selectedindex=0 then 

    'Aca  haces que sean visibles todos los textbox pertenecientes a la opcion 1 (indice 0(carro))  e invisibles las 'que no pertenezcan a la opcion elegida

    txt_motor.visible= true

    txt_chasis.visible=true

    txt_año.visible=true

    txt_color.visible=false 

    txt_codigo.visible=false

    txt.memoria.visible=false

    txt_disco_duro.visible=false

    txt_os_visible=false

    end if

    Y lo mismo para las otras opciones indice 1 e indice 2

    Espero te sirva.

    Saludos.


    miércoles, 19 de febrero de 2014 8:15
  • Esta es como de decicion.

    Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As System.EventArgs) Handles ComboBox6.SelectionChangeCommitted
    if combobox.text = "Carro" then
    textbox1.visible = true
    textbox2.visible = true
    textbox3.visible = true
    textbox4.visible = true
    
    else if combobox1.text = "Computadora" then
    textbox1.visible = true
    textbox2.visible = true
    textbox3.visible = false
    textbox4.visible = false
    .
    .
    .
    .
    end if
    end sub

    Espero Sea Útil. Saludos!


    lunes, 24 de febrero de 2014 20:38