0

On form load I load enum into combobox

private void Form2_Load(object sender, EventArgs e)
{
    List<VATMode> vatModes = Enum.GetValues(typeof(VATMode)).
         Cast<VATMode>().ToList();           
    cmbVatMode.DataSource = vatModes;
}

Now I want do assign value from cmbVatMode (drop down list) to my enum property MyCustomVatMode

I tried with MyCustomVatMode = cmbVatMode.SelectedValue; but it doesnt work.

panjo
  • 3,367
  • 11
  • 45
  • 81

1 Answers1

1

If you set DataSource to a list of VATMode, SelectedValue will return a reference of type object. that can be successfully casted to your enum. Next code demonstrates this.

VATMode MyCustomVatMode = (VATMode)cmbVatMode.SelectedValue;

For example next code will print to console enum every time you will change a combobox:

cmbVatMode.SelectedValueChanged += (s, a) => 
{
    VATMode selected = (VATMode)cmbVatMode.SelectedValue;
    Console.WriteLine(selected);
};
Ilya Ivanov
  • 22,638
  • 4
  • 62
  • 88