Reader Level:
ARTICLE

Bind an Enumeration to a Control in C#

On May 18, 2010 Articles | How do I
This code snippet shows how to bind an enumeration with a ComboBox Windows Forms control using C#.
  • 0
  • 0
  • 12014

The GetValues method of Enum returns an array of objects. We can use this method to convert an enum to an array and bind to a ComboBox in Windows Forms using DataSource property.

The following code snippet binds ButtonState enum available in Windows Forms to a ComboBox.

comboBox1.DataSource = System.
Enum.GetValues(typeof(ButtonState));

Now, once we have an enum bound to a ComboBox, we need to the selected item from ComboBox and convert back to the enum. Unfortunately, ComboBox selected item gives us a string. Now we will have to convert back to the string value to an enum value.

For that, we can use Enum.Parse method and cast it to the enumeration.

The following code snippet takes the selected value in a ComboBox and converts it back to the enum value.


MessageBox.Show(comboBox1.Items[comboBox1.SelectedIndex].ToString());
ButtonState currentState = (ButtonState)Enum.Parse(typeof(ButtonState), comboBox1.Items[comboBox1.SelectedIndex].ToString());

Mahesh Chand

Mahesh Chand is founder of C# Corner. C# Corner founded in 1999 is a FREE member contributions based open platform for developers to solve problems, learn new technology and hang out.  M...

  • 1rank
  • 71M readers
  • 9times
COMMENT USING

Trending up