Программа представляет собой объект minidatabase-ish для целей заказа продукта, где я сохраняю уникальные порядки в структуре и имена продуктов в перечислении (для практики в основном). У меня только 3 имени продукта (Product0, Product1, Product2), и они добавляются в поле со списком (cbo_productNameEdit.DataSource = Enum.GetNames(typeof(productNames));
).Struct & Enum, Combobox.SelectedItem
В любом случае, после сохранения заказа, я хочу, чтобы этот combobox менял выбранный элемент на имя сохраненного продукта, но он этого не делает. Я проверил это с MessageBox, чтобы увидеть, если он не хранить его правильно ...
MessageBox.Show(Orders[cbo_productID.SelectedIndex].productName.ToString());
cbo_productNameEdit.SelectedItem = Orders[cbo_productID.SelectedIndex].productName;
... MessageBox вернулся product2, который действительно является правильным, но выбранный элемент остался в Product0.
** 1 ** Перечни являются а не 0 на основе целых чисел. Вы можете использовать значения перечисления с отрицательными целыми числами или значения могут начинаться с других чисел, тогда 0. ** 2. ** Усушение того, что 'SelectedIndex' будет всегда таким же, как значение выбранного перечисления далеко от хорошего решения. – Fabio
1. По умолчанию они есть, вот что я имел в виду. 2. Он хотел получить ответ на заданный вопрос, и это решение работает. Я согласен, что это не лучший способ, но – Zillo
Если, например, он будет иметь перечисление со значениями '{0, 1, 4, 5}', ваше решение не будет работать. И извините, но из фразы _Enums основаны на 0 целых чисел. Трудно понять, что это только по умолчанию :) – Fabio