4

次の列挙型があるとしましょう

public enum MyMode { A = 1, B = 2, C = 3, D = 4 };

この列挙型をコンボボックス内の値のリストとして使用したいので、試してみました

cmbMyMode.Items.Add(Enum.GetValues(typeof(MyMode )));

しかし、私はフォローしています

MyMode[] Array

A、B、C、D を表示する必要があります。A、B、C、D の代わりにカスタム文字列を使用できますか

ありがとう

4

3 に答える 3

13
List<MyMode> modes = Enum.GetValues(typeof(MyMode)).Cast<MyMode>().ToList();
cmbMyMode.DataSource = modes;

ラベルをカスタマイズするには:

var modes = Enum.GetValues(typeof(MyMode)).Cast<MyMode>().Select(mode => 
                   new { Value = mode, Title = string.Format("-->{0}<--", mode) }).
                 ToList();
cmbMyMode.ValueMember = "Value";
cmbMyMode.DisplayMember = "Title";
cmbMyMode.DataSource = modes;

その後

cmbMyMode.SelectedValue
于 2013-05-24T08:32:46.327 に答える
3
  cmbMyMode.Items.AddRange(Enum.GetNames(typeof(MyMode)));
于 2013-05-24T08:33:01.370 に答える