VC ++ CLI / CLR, комбинированный список winforms связывает источник данных с enum - PullRequest
0 голосов
/ 08 марта 2011

У меня есть такое перечисление

enum class distance 

    {ten=10,twenty=20};

и поле со списком, источник данных которого привязан к этому перечислению как:

this->comboBox1->DataSource=Enum::GetValues(distance::typeid)

Я ожидал, что выше вернется 10,20, но вместо этогоЯ получаю десять, двадцать.

Как показывать значения вместо имен в выпадающем списке?

1 Ответ

0 голосов
/ 08 марта 2011

Обновление: вы хотите целые значения, а не имена.Для этого по-прежнему требуется Enum :: GetValues ​​() для получения перечисляемых значений, но они должны быть преобразованы в int, чтобы переопределение ToString () не генерировало имя.Сделайте так, чтобы это выглядело так:

        enum class distance {ten=10,twenty=20};

        Form1(void)
        {
            InitializeComponent();
            Array^ values = Enum::GetValues(distance::typeid);
            array<int>^ display = gcnew array<int>(values->Length);
            for (int ix = 0; ix < values->Length; ++ix) {
                display[ix] = (int)values->GetValue(ix);
            }
            comboBox1->DataSource = display;
        }

Где Form1 (void) - конструктор вашего класса формы.

...