假设我有以下枚举

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

07-26 00:01