4

假设我有以下枚举

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

谢谢

4

3 回答 3

13
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
于 2013-05-24T08:32:46.327 回答
3
  cmbMyMode.Items.AddRange(Enum.GetNames(typeof(MyMode)));
于 2013-05-24T08:33:01.370 回答
2
foreach (var name in Enum.GetNames(typeof(MyMode)))
{
    cmbMyMode.Items.Add(name);
}
于 2013-05-24T08:34:37.530 回答