none
Aplicar dados de uma combobox numa textbox RRS feed

  • Pergunta

  • Gostava de colocar dados de uma combobox numa listbox. 

    No inicio não é complicado fazer mas o meu problema é que o que está na combobox é só a descrição. Eu passo a explicar...

    Eu na combobox tenho os nomes dos produtos, mas esses produtos terão uma densidade essa é que irá para a text box para eu fazer o restante calculo.

    O problema é associar ao escolher o produto da combobox, este ponha um valor numérico no textbox. isso sem base de dados.

    terça-feira, 18 de abril de 2017 16:16

Respostas

  • Olá,

    Pelo que entendi do seu cenário, você precisa utilizar as propriedades DisplayMember e ValueMember do ComboBox. Veja se o exemplo abaixo lhe atende:

            //Representa a entidade Produto.
            private class Produto
            {
                public string descricao { get; set; }
                public int densidade { get; set; }
            }
    
            private void CarregarComboProduto()
            {
                //Popula a lista de produtos
                List<Produto> listProdutos = new List<Produto>();
                listProdutos.Add(new Produto() { descricao = "Produto ABC", densidade = 1 });
                listProdutos.Add(new Produto() { descricao = "Produto BCD", densidade = 2 });
                listProdutos.Add(new Produto() { descricao = "Produto XYZ", densidade = 3 });
    
                //Define as propriedades DisplayMember e ValueMember
                this.comboBox1.DisplayMember = "descricao";
                this.comboBox1.ValueMember = "densidade";
    
                //Seta o datasource do ComboBox.
                this.comboBox1.DataSource = listProdutos;
    
            }
    
            private void Form_Load(object sender, EventArgs e)
            {
                this.CarregarComboProduto();
            }
    
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                //Seta no TextBox a densidade do produto, ou seja, o ValueMember.
                this.textBox1.Text = this.comboBox1.SelectedValue.ToString();
            }

    Espero ter ajudado!


    Hudson Carvalho

    terça-feira, 18 de abril de 2017 21:31