我有这样的枚举
enum class distance
{ten=10,twenty=20};
和一个组合框,其数据源绑定到此枚举为:
this->comboBox1->DataSource=Enum::GetValues(distance::typeid)
我预计上面会返回10,20,但我会得到十,二十。
如何在组合框中显示值而不是名称?
答案 0 :(得分:0)
更新:您需要整数值,而不是名称。这仍然需要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)是表单类的构造函数。