ComboBox in Windows Form using KeyValuePairs
2011-01-26
The ComboBox in Windows Form is not like the same control in Web Form, it can not insert a Key and Value pair directly.
Here is a solution:
How to insert a Key and Value pair to a Windows Forms ComboBox?
1: Init and insert Key and Value pair:
  List<KeyValuePair<string, string>> data = new List<KeyValuePair<string, string>>();
 
    // Add data to the List
    data.Add(new KeyValuePair<string, string>(�Key1�, �Value1�));
    data.Add(new KeyValuePair<string, string>(�Key2�, �Value2�));
    data.Add(new KeyValuePair<string, string>(�Key3�, �Value3�));
    cbList.DataSource = null;
    cbList.Items.Clear();
    // Bind the combobox
    cbList.DataSource = new BindingSource(data, null);
    cbList.DisplayMember = �Value�;
    cbList.ValueMember = �Key�;
2: Use it:
private void cbList_SelectedIndexChanged(object sender, EventArgs e)
{
    // Get the selected item in the combobox
    KeyValuePair<string, string> selectedPair = (KeyValuePair<string, string>)cbList.SelectedItem;
    lblSelectedKey.Text = selectedPair.Key;
    lblSelectedValue.Text = selectedPair.Value;
}