Sometimes when we use the ComboBox control in .NET 2.0, we need add items which have "combination" data, such as we need to add the following data to a ComboBox:

("string1", 1)
("string2", 1)
("string3", 3)

Normally in .NET 2.0, we just add "single" object to a ComboBox control, how we can add above data ?

In .NET 3.0 or above version, there is a new class named "ComboBoxItem", we can use this class to add "complex" data structure objects to a ComboBox. But, in .NET 2.0, we can not have a ComboBoxItem.

OK, just let us make a ComboBoxItem by ourself:

class MyComboBoxItem
{
public string Name;
public int Value;

public MyComboBoxItem(string Name, int Value)
{
this.Name = Name;
this.Value = Value;
}

public override string ToString()
{
return this.Name;

}
}

Note: we need override ToString() method, otherwise when we use this ComboBoxItem, you just get the ComboBoxItem name itself.

Then you can add items like this:

aComboBox.Items.Add(new MyComboBoxItem("string1",1));
aComboBox.Items.Add(new MyComboBoxItem("string2",2));
aComboBox.Items.Add(new MyComboBoxItem("string3",3));

And you can get selected value like this:

int selectedValue = ((MyComboBoxItem)aComboBox.SelectedItem).Value;