如何使用枚举作为数据源?

B. *_*non 1 c# enums combobox datasource

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

private enum ValueType { Text, Barcode }

private ValueType vt;

private void FormCPCLCodeGenUtil_Load(object sender, EventArgs e)
{
    comboBoxType1.DataSource = vt;
}
Run Code Online (Sandbox Code Playgroud)

...这不应该让我感到惊讶,因为 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));
Run Code Online (Sandbox Code Playgroud)

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

COL*_*OLD 7

你可以试试这个

comboBoxType1.DataSource= Enum.GetNames(typeof(ValueType));
Run Code Online (Sandbox Code Playgroud)