Revision: 31735
Updated Code
at September 11, 2010 07:11 by jimfred
Updated Code
// Create a dictionary with value-name pairs. This will be bound to comboBox1
public static Dictionary<int, string> choices = new Dictionary<int, string>()
{
{ 100, "Arthur"},
{ 200, "Ford" },
{ 300, "Trillian"},
{ 400, "Zaphod"},
};
// Create an enum. This will be bound to comboBox2
public enum MyEnumType
{
Sunday=0,
Monday=1,
Tuesday=2,
Wednesday=3,
Thursday=4,
Friday=5,
Saturday=6,
}
// In the form Load event, bind the combobox to the data source.
private void Form1_Load(object sender, EventArgs e)
{
// Bind comboBox1 and set a default.
comboBox1.DataSource = new BindingSource(choices, null);
comboBox1.DisplayMember = "Value";
comboBox1.ValueMember = "Key";
comboBox1.SelectedValue = 300;
// Bind comboBox2 and set a default.
comboBox2.DataSource = Enum.GetValues(typeof(MyEnumType));
comboBox2.SelectedItem = MyEnumType.Friday;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = Convert.ToString(comboBox1.SelectedValue); // Initially shows "300" while combo shows "Trillian".
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
label2.Text = Convert.ToString((int)comboBox2.SelectedItem); // Initially shows "5" while the combo shows "Friday".
}
Revision: 31734
Updated Code
at September 11, 2010 06:34 by jimfred
Updated Code
public static Dictionary<char, string> choices = new Dictionary<char, string>()
{
{ 'A', "Arthur"},
{ 'F', "Ford" },
{ 'T', "Trillian"},
{ 'Z', "Zaphod"},
};
// In the form Load event handler...
// Bind the dictionary to the list of value-name pairs.
comboBox1.DataSource = new BindingSource(choices, null);
comboBox1.DisplayMember = "Value";
comboBox1.ValueMember = "Key";
comboBox1.SelectedValue = 'T'; // Select a default.
Revision: 31733
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 11, 2010 06:32 by jimfred
Initial Code
public static Dictionary<char, string> choices = new Dictionary<char, string>()
{
{ 'A', "Arthur"},
{ 'F', "Ford" },
{ 'T', "Trillian"},
{ 'Z', "Zaphod"},
};
// In the form Load event handler...
comboBox1.DataSource = new BindingSource(choices, null);
comboBox1.DisplayMember = "Value";
comboBox1.ValueMember = "Key";
comboBox1.SelectedValue = 'T'; // Select a default.
Initial URL
http://madprops.org/blog/bind-a-combobox-to-a-generic-dictionary/
Initial Description
This example shows how to bind a combobox to a list of value-name pairs. Selecting a value results in the appropriate text being displayed. This example uses both a Dictionary and an enum.
Initial Title
C#, Bind a list of value-name pairs to a combobox
Initial Tags
Initial Language
C#