如何用枚举值填充 ComboBoxTool.ValueList?

Posted

技术标签:

【中文标题】如何用枚举值填充 ComboBoxTool.ValueList?【英文标题】:How to populate ComboBoxTool.ValueList with enum values? 【发布时间】:2021-05-31 19:19:28 【问题描述】:

我正在使用工具栏,我想在工具栏上显示enumComboBoxToolComboBoxTool 采用 ValueList 对象。 Enum 需要转换ValueList 类型。 如何将enum 添加到ValueList? 感谢您的回答。 enter image description here

【问题讨论】:

请先展示您为解决此问题所做的努力,并告诉我们您遇到了什么具体问题。 【参考方案1】:

用指定枚举的成员加载指定的组合框:

public void LoadEnumsIntoCombo(ComboBoxTool combo, Type type)

    Array enumValues = Enum.GetValues(type);
    Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
    foreach(object value in enumValues)
                    
        valueList.ValueListItems.Add(new ValueListItem(value, value.ToString()));
    
    combo.ValueList = valueList;

以及调用这个方法的例子:

var comboBoxTool1 = new Infragistics.Win.UltraWinToolbars.ComboBoxTool("ComboBoxTool1");
LoadEnumsIntoCombo(comboBoxTool1, typeof(ToolbarStyle));

【讨论】:

感谢您的建议,如何将默认值设置为组合框?你有什么想法吗? 我如何从组合框获得价值,对不起,我是 c# 的新手 @Ahmet Serdar: ComboBoxTool.SelectedItem 返回所选ValueList 项目后面的对象。 有什么方法可以设置默认值到组合框? @Ahmet Serdar:要设置默认值,必须使用SelectedItem,例如:comboBoxTool1.SelectedItem = comboBoxTool1.ValueList.FindByDataValue(put_here_your_enum_value);

以上是关于如何用枚举值填充 ComboBoxTool.ValueList?的主要内容,如果未能解决你的问题,请参考以下文章

如何用前一行的值填充空列?

如何用随机字典值填充熊猫数据框列

如何用空格 printf() 填充值?

如何用其他数据框的值填充缺失值

如何用存储过程填充表中的所有空值

如何用“int32_t”值快速填充内存?