如何使用enum填充组合框 - 在组合框中显示枚举的整数(值)

时间:2015-05-21 22:18:32

标签: c# winforms combobox enums

这是我的枚举:

    Name = Value
public enum BitRates
{
    bitrate_32 = 32,
    bitrate_40 = 40,
    bitrate_48 = 48,
    bitrate_56 = 56,
    bitrate_64 = 64,
    bitrate_80 = 80,
    bitrate_96 = 96,
    bitrate_112 = 112,
    bitrate_128 = 128,
    bitrate_160 = 160,
    bitrate_192 = 192,
    bitrate_224 = 224,
    bitrate_256 = 256,
    bitrate_320 = 320
}

这是我的代码:

    cb_birates.DataSource = Enum.GetValues(typeof(BitRates));
    cb_birates.SelectedItem = BitRates.bitrate_128;

但是在这些代码之后我的组合框中有名字(例如bitrate_128) 我想在我的组合框中显示值(例如128) 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

将它们转换为基础值:

cb_birates.DataSource = Enum.GetValues(typeof(BitRates))
                            .Cast<BitRates>()
                            .Select(x => (int)x)
                            .ToList();

答案 1 :(得分:0)

我知道答案已经被接受了 但是想要在不将enum类型转换为整数的情况下共享方法:

cb_birates.DataSource = Enum.GetValues(typeof(BitRates))
                        .Cast<BitRates>()
                        .Select(x => x.ToString("D"))
                        .ToList();