Загрузить значения типа enum в поле со списком
Учитывая следующее перечисление:
Enum enumExample
world
oblivion
holiday
End Enum
Я могу добавить его значения в список элементов ComboBox, например:
combo.Items.Add(enumExample.holiday)
combo.Items.Add(enumExample.oblivion)
combo.Items.Add(enumExample.world)
Есть ли более короткий способ?
Ответы
Ответ 1
Вы можете использовать Enum.GetValues
, чтобы получить список значений для перечисления, а затем повторить результат:
For Each i In [Enum].GetValues(GetType(EnumExample))
combo.Items.Add(i)
Next
Или, как упоминалось @Styxxy:
combo.Items.AddRange([Enum].GetValues(GetType(EnumExample)))
Ответ 2
Почему бы просто не использовать:
Enum enumExample
world
oblivion
holiday
End Enum
ComboBox1.DataSource = [Enum].GetValues(GetType(enumExample))
Это то, что я использовал и, похоже, сработало.