我有一个枚举:
enum Presidents
{
Clinton,
Bush,
Obama,
Trump
}
我也有CheckedListBox
。我希望它由枚举值组成。我怎么能做到这一点?
注意: CheckedListBox
不 a CheckBoxList
。请不要参考this问题。
答案 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
属性不可浏览(在设计器的属性窗口中可见)。