在C# Winform面板上的ComboBox选择项,由程序填写某个Enum的各个枚举项目。
在运行中读取ComboBox的选择项,返回Enum数值。
低阶做法可以在winform设计窗口手动填写,但是不会自动跟Enum改变而变化。 读取ComboBox选项也是index,要映射到Enum可以用switch语句,但容易对应关系搞错。
对于定义好的Enum MyEnum,面板comboBox comboBoxMyChoices,代码如下:
public enum MyEnum
{
Unknown = 0,
Jogging = 1,
Swimming = 2
}
//初始化comboBox选项为 Unknown, Jogging, Swimming
comboBoxMyChoices.DataSource = Enum.GetNames(typeof(MyEnum));
//设置comboBox选项为某个myEnum值,例如Swimming
comboBoxMyChoices.SelectedItem = Enum.GetName(typeof(MyEnum), MyEnum.Swimming);
//读取comboBox选项给一个enum变量guiSelection
MyEnum guiSelection;
//根据面板选项字符解析为枚举变量
if(Enum.TryParse(comboBoxMyChoices.SelectedItem.ToString(), out guiSelection)
{
//如果解析成功,这里添加选项关联操作
}