C# ComboBox 和 枚举类型(Enum)相互关联

C# ComboBox 和 枚举类型(Enum)相互关联

目的

在C# Winform面板上的ComboBox选择项,由程序填写某个Enum的各个枚举项目。

在运行中读取ComboBox的选择项,返回Enum数值。

非编程方法

低阶做法可以在winform设计窗口手动填写,但是不会自动跟Enum改变而变化。 读取ComboBox选项也是index,要映射到Enum可以用switch语句,但容易对应关系搞错。

正解

对于定义好的Enum MyEnum,面板comboBox comboBoxMyChoices,代码如下:

csharp 复制代码
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) 
{
	//如果解析成功,这里添加选项关联操作
	
}
相关推荐
品尚公益团队7 分钟前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net
bksczm9 分钟前
Linux之信号量(POSIX标准)
java·开发语言
吴可可12313 分钟前
C#自定义CAD多段线零件实体
c#
吠品20 分钟前
PHP里取月份最后一天的几种方式
java·开发语言·eureka
CallmeFoureyes21 分钟前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
gugucoding38 分钟前
2. 【Java】搭建Java开发环境
java·开发语言
多加点辣也没关系38 分钟前
JavaScript|第9章:对象 — 基础
开发语言·javascript·ecmascript
2601_949818091 小时前
Vector从入门到应用(C++ STL动态数组万字全解
开发语言·c++
汤米粥1 小时前
Python爬虫中Xpath用法之——normalize-space()
开发语言·python
科技道人2 小时前
记录 设置-显示大小和字体
开发语言·android设置·字体和显示大小