如何在网上建立自己的网站,爱最好网站建设,wordpress主页404,自建网站系统C# ComboBox 和 枚举类型(Enum)相互关联
目的
在C# Winform面板上的ComboBox选择项#xff0c;由程序填写某个Enum的各个枚举项目。 在运行中读取ComboBox的选择项#xff0c;返回Enum数值。
非编程方法
低阶做法可以在winform设计窗口手动填写#xff0c;但是不会自动跟…C# ComboBox 和 枚举类型(Enum)相互关联
目的
在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)
{//如果解析成功这里添加选项关联操作}