如何将枚举用作数据源?

时间:2013-02-14 17:47:56

标签: c# combobox enums datasource

我想使用枚举中的值作为某些组合框的来源。这会编译,但不会填充组合框:

private enum ValueType { Text, Barcode }

private ValueType vt;

private void FormCPCLCodeGenUtil_Load(object sender, EventArgs e)
{
    comboBoxType1.DataSource = vt;
}

...这不应该让我感到惊讶,因为vt还没有赋值;我不希望组合框只有一个值。那么我该怎么做呢(或者有一种比使用枚举作为数据源更好的方法)?

更新

一个附带问题:当几个组合框将使用相同的数据源时,哪一个更好?

    comboBoxType1.DataSource = Enum.GetNames(typeof(ValueType)); 
    comboBoxFontSize1.DataSource = Enum.GetNames(typeof (FontSizeType));
    comboBoxAlign1.DataSource = Enum.GetNames(typeof(AlignOptions));

    //comboBoxType2.DataSource = comboBoxType1.DataSource; 
    comboBoxType2.DataSource = Enum.GetNames(typeof(ValueType));

(使用先前分配的组合框数据源作为自己的,或以与前一个相同的方式连接?)

1 个答案:

答案 0 :(得分:4)

你可以试试这个

comboBoxType1.DataSource= Enum.GetNames(typeof(ValueType));