c# - 在 winforms 组合框中显示枚举值

标签 c# .net winforms

假设我有以下枚举

public enum MyMode { A = 1, B = 2, C = 3, D = 4 };

我想用这个枚举作为组合框内的值列表,我试过

cmbMyMode.Items.Add(Enum.GetValues(typeof(MyMode )));

但我正在关注

MyMode[] Array

我需要显示 A、B、C、D,是否可以使用自定义字符串代替 A、B、C、D

谢谢

最佳答案

List<MyMode> modes = Enum.GetValues(typeof(MyMode)).Cast<MyMode>().ToList();
cmbMyMode.DataSource = modes;

自定义标签:

var modes = Enum.GetValues(typeof(MyMode)).Cast<MyMode>().Select(mode => 
                   new { Value = mode, Title = string.Format("-->{0}<--", mode) }).
                 ToList();
cmbMyMode.ValueMember = "Value";
cmbMyMode.DisplayMember = "Title";
cmbMyMode.DataSource = modes;

然后

cmbMyMode.SelectedValue

关于c# - 在 winforms 组合框中显示枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16730691/

相关文章:

c# - 向 SQLite 表添加列不使用完整的项目名称

c# - 了解 WPF 控件样式和模板

c# - 有属性的节点列表

c# - 通过 ref 传入对象

c# - CLI C++ 派生自 C# 一次性类

c# - 控件不在焦点时下拉列表更改所选值

c# - 如何在列表框中的项目之间添加填充?

c# - 使用 Visual Studio 连接 MySQL 数据库

c# - 如何使用 Timer.tick 事件处理程序发送 2 个整数参数

c# - 如何在 C# 3.5 中将 List<Article> 转换为 List<IArticle>