从组合列表到枚举属性的选定枚举值
本文关键字:枚举 属性 列表 组合 | 更新日期: 2023-09-27 18:17:05
在form load时,将enum加载到combobox
private void Form2_Load(object sender, EventArgs e)
{
List<VATMode> vatModes = Enum.GetValues(typeof(VATMode)).
Cast<VATMode>().ToList();
cmbVatMode.DataSource = vatModes;
}
现在我想从cmbVatMode
(下拉列表)分配值给我的enum属性MyCustomVatMode
我尝试了MyCustomVatMode = cmbVatMode.SelectedValue;
,但它不工作
如果将DataSource
设置为VATMode
的列表,则SelectedValue
将返回对象类型的引用。可以成功地强制转换为枚举。下一段代码演示了这一点。
VATMode MyCustomVatMode = (VATMode)cmbVatMode.SelectedValue;
例如,下一段代码将在每次更改组合框时打印到console enum:
cmbVatMode.SelectedValueChanged += (s, a) =>
{
VATMode selected = (VATMode)cmbVatMode.SelectedValue;
Console.WriteLine(selected);
};