如何将CheckedListBox绑定到枚举?

时间:2017-12-19 17:39:03

标签: c# winforms enums checkedlistbox

我有一个枚举:

enum Presidents
{
    Clinton,
    Bush,
    Obama,
    Trump
}

我也有CheckedListBox。我希望它由枚举值组成。我怎么能做到这一点?

注意: CheckedListBox a CheckBoxList。请不要参考this问题。

1 个答案:

答案 0 :(得分:3)

您可以枚举枚举值的名称,如下所示:

Enum.GetNames(typeof(Presidents));

或值

Enum.GetValues(typeof(Presidents));

使用此功能,您可以填写CheckedListBox的{​​{3}}:

checkedListBox1.DataSource = Enum.GetValues(typeof(Presidents));

或直接填写DataSource集合:

checkedListBox1.Items.AddRange(Enum.GetValues(typeof(Presidents));

我建议使用值而不是名称。它们会显示其名称,但稍后您可以直接使用它们,如

Presidents firstChecked = (Presidents)checkedListBox1.CheckedItems[0];

无需再次解析它们。

请注意,此类型的DataSource属性不可浏览(在设计器的属性窗口中可见)。