powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Прибиндить в комбобокс значения перечисления
3 сообщений из 3, страница 1 из 1
Прибиндить в комбобокс значения перечисления
    #38331507
Фотография _Novichok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго здоровья.

Такой вопрос: есть комбобокс, к нему надо прикрутить перечисление, как источник данных. Самый простой вариант у меня получался такой:
Код: c#
1.
2.
3.
4.
5.
public enum Mode
    {
        Admin,
        User
    }


Код: c#
1.
comboBox1.DataSource = Enum.GetValues(typeof(Mode));


Но в таком случае выводятся латиницей значения перечисления. А надо, чтобы в элементы комбобокса выводились иные значения. Например, значения перечисления обозначены каким-то атрибутом
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
    public enum Mode
    {
        [SomeAttribute("Продвинутый пользователь")]
        Admin,

        [SomeAttribute("Ограниченный пользователь")]
        User
    }


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class SomeAttribute : Attribute
    {
        public string Mode { get; private set; }

        public SomeAttribute(String mode)
        {
            Mode = mode;
        }
    }


И в комбобоксе чтобы выводилось именно значение атрибута, перевариваемые для пользователя отображаемые значения.
При выборе элемента комбобокса, соответственно, должен присутствовать экземпляр перечисления Mode.

Конечно, значения атрибутов можно писать на русском языке, но тогда не допускаются пробелы и иные знаки.

Как можно это организовать, и если нельзя, то как можно обойти?

Спасибо.
...
Рейтинг: 0 / 0
Прибиндить в комбобокс значения перечисления
    #38331560
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Novichok,

ИМХО одним enum'ом не отделаешься. Я бы сделал какой-нибудь List<NameValueClass>, где NameValueClass.name = "Описание", NameValueClass.value = Mode.Admin. И заполнил бы этот List где-нибудь при инициализации проги.
...
Рейтинг: 0 / 0
Прибиндить в комбобокс значения перечисления
    #38331684
Фотография _Novichok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому надо будет, точь-в-точь проблема, на кодепроджект нашел: http://www.codeproject.com/Articles/19980/Data-Binding-an-Enum-with-Descriptions
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Прибиндить в комбобокс значения перечисления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]