Bohn Bohn - 4 months ago 28
C# Question

ComboBox: Adding Text and Value to an Item (no Binding Source)

In C# WinApp, how can I add both Text and Value to the items of my ComboBox?
I did a search and usually the answers are using "Binding to a source".. but in my case I do not have a binding source ready in my program...
How can I do something like this:

combo1.Item[1] = "DisplayText";
combo1.Item[1].Value = "useful Value"


You must create your own class type and override the ToString() method to return the text you want. Here is a simple example of a class you can use:

public class ComboboxItem
    public string Text { get; set; }
    public object Value { get; set; }

    public override string ToString()
        return Text;

The following is a simple example of its usage:

private void Test()
    ComboboxItem item = new ComboboxItem();
    item.Text = "Item text1";
    item.Value = 12;


    comboBox1.SelectedIndex = 0;

    MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());