1

いくつかのコンボボックスのソースとして列挙型の値を使用したいと思います。これはコンパイルされますが、コンボボックスには入力されません。

private enum ValueType { Text, Barcode }

private ValueType vt;

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

... vtには値が割り当てられていないため、これは驚くべきことではありません。コンボボックスに1つの値だけを持たせたくありません。では、どうすればこれを行うことができますか(または、列挙型をデータソースとして使用するよりも良い方法はありますか)?

アップデート

副次的な質問:複数のコンボボックスが同じデータソースを使用する場合、これらのどれが優れているか:

    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));

(以前に割り当てられたコンボボックスデータソースを独自のものとして使用するか、以前のものと同じ方法で接続しますか?)

4

1 に答える 1

6

あなたはこれを試すことができます

comboBoxType1.DataSource= Enum.GetNames(typeof(ValueType));
于 2013-02-14T17:50:13.113 に答える