在 winforms 组合框中显示枚举值 [英] display enum values inside winforms combobox

查看:22
本文介绍了在 winforms 组合框中显示枚举值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有以下枚举

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

并且我想将此枚举用作组合框内的值列表,我尝试使用

and I want to use this enum as list of values inside combobox, I tried with

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

但我正在关注

MyMode[] Array

我需要显示 A、B、C、D,是否可以使用自定义字符串代替 A、B、C、D

I need to display A, B, C, D, and is it possible to use custom string instead of A,B,C,D

谢谢

推荐答案

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

这篇关于在 winforms 组合框中显示枚举值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆