如何将CheckedListBox绑定到枚举?

问题描述 投票:1回答:1

我有一个枚举:

enum Presidents
{
    Clinton,
    Bush,
    Obama,
    Trump
}

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


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

c# winforms enums checkedlistbox
1个回答
3
投票

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

Enum.GetNames(typeof(Presidents));

或者通过值

Enum.GetValues(typeof(Presidents));

有了它,你可以填写DataSourceCheckedListBox

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

或者直接填写Items系列:

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

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

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

无需再次解析它们。

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

© www.soinside.com 2019 - 2024. All rights reserved.