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