Многие люди ответили на вопрос о том, как связать enum с полем со списком в WinForms. Это примерно так:Связывание перечисления с комбинированным полем WinForms, а затем его установка
comboBox1.DataSource = Enum.GetValues(typeof(MyEnum));
Но это довольно бесполезно, не имея возможности установить фактическое значение для отображения.
Я попытался:
comboBox1.SelectedItem = MyEnum.Something; // Does not work. SelectedItem remains null
Я также попытался:
comboBox1.SelectedIndex = Convert.ToInt32(MyEnum.Something); // ArgumentOutOfRangeException, SelectedIndex remains -1
Кто-нибудь есть какие-либо идеи, как это сделать?
Почему просто не попробовать ComboBox.SelectedValue вместо этого? –
Если на ваш вопрос был дан ответ, вы действительно должны выбрать ответ. –
Точка привязки перечисления не совсем ясна. Перечисление, вероятно, не изменится во время выполнения. Вы также можете написать метод расширения, который заполнил бы коллекцию элементов combobox всеми значениями перечисления. – Andreas