将枚举类型的值加载到组合框中

时间:2013-01-19 21:44:53

标签: vb.net combobox enums

鉴于以下枚举:

Enum enumExample
  world
  oblivion
  holiday
End Enum

我可以将其值添加到ComboBox项目列表中,如下所示:

combo.Items.Add(enumExample.holiday)
combo.Items.Add(enumExample.oblivion)
combo.Items.Add(enumExample.world)

有更短的路吗?

2 个答案:

答案 0 :(得分:17)

您可以使用Enum.GetValues获取枚举值的列表,然后迭代结果:

For Each i In  [Enum].GetValues(GetType(EnumExample))
  combo.Items.Add(i)
Next

或者,正如@Styxxy所说:

combo.Items.AddRange([Enum].GetValues(GetType(EnumExample)))

答案 1 :(得分:12)

为什么不使用:

Enum enumExample
  world
  oblivion
  holiday
End Enum

ComboBox1.DataSource = [Enum].GetValues(GetType(enumExample))

这是我使用的,似乎有效。